반응형
Choose
- 값 목록에서 지정된 인덱스의 있는 항목을 반환
구문
CHOOSE( index, val1, val2, val3...)
- index
- 정수의 값 입력
- 정수 이외의 숫자 데이터 형식으로된 인덱스 값 제공시 암시적으로 정수로 변환
- 인덱스 값이 배열 한계를 초과하면 Null 반환
- val1 ... valN
- 임의의 데이터 형식으로 된 쉼표로 구분된 값 목록
반환 형식
- 함수에 전달된 형식 집합 중, 우선 순위가 가장 높은 데이터 형식을 반환
예시
Choose 예시
select choose(2, '첫번째', '두번째', '세번째') as '결과'
- 인덱스 : 2
- 목록에서 두번째의 값(두번째) 반환
열 기반 Choose 예시
- 테이블 변수를 이용하여 랜덤한 값 1~11을 받고, 해당 값 순서대로 월 표시하기
-- 테이블 변수 생성
DECLARE @tempTableVar TABLE( number int)
-- 테이블 변수에 임의의 값 10개 입력 (0~10까지의 수)
declare @i int
set @i = 0
while @i < 10 begin
insert into @tempTableVar (number) values (round(rand()*10, 0)+1)
set @i += 1
end
-- 입력된 값 확인
select * from @tempTableVar
-- 입력된 값을 choose 함수를 이용하여 값 변경
select choose(number, '1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월') as '월 표시'
from @tempTableVar
참고
반응형