MSSQL 에는 파이썬/R에서 사용되는 for 문법 대신 while 문법을 사용합니다. 오늘은 while 문법을 응용하기전에 기본적인 사용법에 대해서 다루어 보려고 합니다.
목차
1. 구성 요소
2. 예제1 - 숫자 업데이트
3. 예제2 - 숫자와 문자를 결합하여 업데이트
4. 예제3 - 날짜 변수 업데이트
4-1. select 구문을 이용한 변수 할당
1. 구성 요소
while문을 사용하기 위해서는 다음과 같은 재료들이 필요합니다.
declare : 변수 선언
set : 선언한 변수에 값 할당
while : 종료 조건 지정
begin : 실행 구문 입력
print : 결과 출력
end : 실행 구문 종료
2. 예제1 - 숫자 업데이트
declare @i as int;
set @i = 1;
while @i <= 10
begin
print @i;
set @i = @i + 1;
end;
변수는 항상 @를 붙여서 @i 와 같이 사용합니다.
위 예제는 크게 세 가지 파트로 이루어져 있습니다.
#1. 변수 선언
declare @i as int;
set @i = 1;
declare로 변수 타입을 선언하고 set을 통해 변수에 값을 지정합니다. 아래와 같이 사용 할 수도 있습니다.
declare @i as int = 1;
#2. 종료 조건 지정
while @i <= 10
다음으로, 위와 같이 @i 가 10 이하까지라는 종료 조건을 설정할 수 있습니다. 참고로, 종료 조건은 if 문을 이용해 while 구문 안에서도 설정 가능합니다.
declare @i as int;
set @i = 1;
while @i <= 10
begin
if @i = 6 break;
print @i;
set @i = @i + 1;
end;
참고로 위와 같이 if @i = 6 break; 와 같이 if문을 이용하여서도 종료 조건을 지정할 수 있습니다.
#3. 실제 실행 구문
begin
print @i;
set @i = @i + 1;
end;
다음으로, 실제 실행되는 구문입니다. print @i를 통해 숫자를 출력하고 set 을 통해 다시 @i 변수를 업데이트 합니다.
3. 예제2 - 숫자와 문자를 결합하여 업데이트
declare @name as nvarchar(20) = 'tname';
declare @j as int = 1;
while @j <= 10
begin
print @name + cast(@j as nvarchar);
set @j = @j + 1;
end
위와 같이 숫자와 문자를 같이 결합하여 출력할 수 있습니다.
4. 예제3 - 날짜 변수 업데이트
declare @date1 as date = '20210302';
while @date1 <= cast('20210320' as date)
begin
print replace(@date1, '-', '')
set @date1 = (select dateadd(dd, 1, @date1) as date3)
end;
위와 같이, 날짜 변수를 업데이트 할 수도 있습니다. 여기서, 처음 보는 구문이 있으실텐데요.
4-1. select 구문을 이용한 변수 할당
set @date1 = (select dateadd(dd, 1, @date1) as date3)
위의 구문 처럼 select 구문을 이용해 scala 값을 출력하여 @변수에 할당할 수 있습니다.
'딥상어동의 딥한 SQL > LV2.중급쿼리' 카테고리의 다른 글
SQL 구문이 데이터 저장소에 이르기 까지 (0) | 2021.06.26 |
---|---|
왜 버퍼를 사용하는가? (0) | 2021.06.26 |
[MSSQL] With (Nolock)을 사용하는 이유 (2) | 2021.03.27 |
MSSQL | 윈도우 함수 사용시 주의 사항 (0) | 2021.03.23 |
[MSSQL] 프로시져1. 변수 지정 (0) | 2021.01.13 |
제 블로그에 와주셔서 감사합니다! 다들 오늘 하루도 좋은 일 있으시길~~
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!