사용자 정의 변수
사용자가 직접 정의하는 변수로, 한 명령문에서 값을 저장하고 다른 명령문에서 참조할 수 있다. 이를 통해 한 명령문에서 다른 명령문으로 값을 전달할 수 있다.
사용자 정의 변수는 @var_name으로 작성하며, 변수 이름은 영문, 숫자, ., _, 등으로 구성될 수 있다. 그리고 대소문자를 구분하지 않는다.
또한 세션(session) 단위로 유지되기 때문에, 한 클라이언트에서 정의한 사용자 변수는 다른 클라이언트에서 사용할 수 없다.
선언 (SET)
SET 문을 실행해서 사용자 졍의 변수를 선언할 수 있다.
SET @var_name = VALUE
# 예시
SET @var = 1;
선언 (SELECT)
SELECT 문을 실행해서 사용자 정의 변수를 선언할 수도 있다. SET문을 실행할 때와는 다르게 대입 시 := 연산자를 사용한다.
SELECT @var_name;
SELECT @var_name := VALUE;
# 예시
SELECT @var;
SELECT @var := 2;
초기화하지 않은 변수는 null로 설정된다.
참조
SQL문에 변수 이름을 기재하여 참조할 수 있다.
SET @start = 1, @finish = 10;
SELECT *
FROM tb_code
WHERE code_cd
BETWEEN @start AND @finish;
참고 문서
https://dev.mysql.com/doc/refman/8.0/en/user-variables.html
https://three-pleasure.tistory.com/256
https://inpa.tistory.com/entry/MYSQL-%F0%9F%93%9A-%EB%B3%80%EC%88%98