MSSQL

[MSSQL] 변수를 사용하보자

#변수선언 #변수사용 #값입력 #declare #set#꿀팁 #MSSQL #쿼리

안녕하세요, 배곧동개발자 입니다.

여러 프로그래밍언어에서 변수를 선언해서 사용하듯 MSSQL에서도 변수를 선언하여 사용할 수 있다는거 알고 계셨나요? 어렵지 않습니다. 바로 알아보죠!


1. 변수 선언

declare @num int
-- 타 언어들의 int num; 과 같음

선언은 이렇게 declaer로 합니다. 기존 언어들은

자료형 변수명;

으로 선언했다면 mssql 은 declaer로 “나 선언한다?”를 명시한 다음 변수명 자료형 순으로 오게 되는 것이지요. 특이한 점이라면 순서가 바뀐것과 변수명 앞에 @이 붙는거 정도?


​2. 변수에 값 넣기

변수를 선언했다면 값을 넣어 사용해야겠지요? 값을 넣어주는 방식은 앞에 set을 붙혀서 넣어줍니다.

set @num = 104150
-- 타 언어의 num = 104150; 과 같음

​아주 쉽죠? 조금 다르게도 사용 가능합니다.

select @num = count(*) from tbl
-- tbl의 row 갯수를 num에 저장 

이렇게 select에 넣어서 쿼리에서 불러온 값을 저장할 수도 있습니다.


3. 변수 사용 방법

자 넣은 다음에는 써야겠죠!

select @num

​특이한 점이라고는 변수 앞에 @이 들어가는 정도? (데자뷰?) 한번 쭉 연속으로 봐보면 더 쉬울겁니다.

-- 변수선언
declare @num int
-- 값세팅
set @num = 104150
-- 사용
select @num 

select * from test111 where  easeq = @num
-- select * from test111 where  easeq = 104150 와 같음

​예시를 보니까 좀 이해 가시나요? 사용할 때에 @ 붙혀주는 것만 알고 계시면 다른 언어랑 다를바 없습니다!


굳이 쿼리 짜는데 변수를 쓸 일이 있을까? 싶으신분들! 생각보다 아주 많이 쓰입니다. 알아두셨다가 막힘없이 개발하세요!

이만, 배곧동개발자 였습니다!

배곧동개발자

Recent Posts

[MSSQL] 넓은 영어, 띄어쓰기 영어 입력되는 현상 (전각입력/문자폭)

#MSSQL #문자폭 #영어넓이 #쿼리입력안됨 1. MSSQL 영어 입력 안되는 현상 MSSQL을 주로 쓰고 있는데 MSSMS에서…

1개월 ago

[이미르] 다니아믹 키 확실한 해결방법 (커스텀토큰/접속불가)

#레전드오브이미르 #다이나믹키가다릅니다 #커스텀토큰 #접속불가 #오류 #해결방법 1. 다이나믹 키 더럽다! 유저의 다이나믹키가 다릅니다. 위메이드의 레전드…

1개월 ago

[이미르] 대기열 왜 이렇게 길어졌나? (중국작업장/매크로)

#레전드오브이미르 #작업장 #쌀먹 #중국 #매크로 #대기열 1. 운영 문제 있네? 이제 오픈 2주차에 들어온 위메이드의…

2개월 ago

[이미르] 엠틱을 챙겨보자 (스토리덱/마나회복력)

#레전드오브이미르 #엠틱 #마나회복력 #스토리덱 1. 마나가 너무 부족해! 레전드 오브 이미르는 스킬 위주의 액션 게임이라고…

2개월 ago

[이미르] 시구르드와 대화 (위치/메인퀘스트19-19)

#레전드오브이미르 #파괴가남긴것 #시구르드 #19-19 #위치 1. 파괴가 남긴 것 레전드 오브 이미르 메인퀘스트 19-19인 "파괴가…

2개월 ago

[이미르] 트롤의 비밀상자, 트롤의 유적상층 보물상자 위치

#레전드오브이미르 #트롤의비밀상자 #트롤의유적상층 #보물상자 #위치 1. 트롤의 비밀 상자 이번에 알아 볼 의뢰게시판 의뢰는 바로…

2개월 ago