Database

[MySQL] 사용자 정의 변수 (@)

비번변경 2022. 11. 2. 20:32

사용자 정의 변수

사용자가 직접 정의하는 변수로, 한 명령문에서 값을 저장하고 다른 명령문에서 참조할 수 있다. 이를 통해 한 명령문에서 다른 명령문으로 값을 전달할 수 있다.

사용자 정의 변수는 @var_name으로 작성하며, 변수 이름은 영문, 숫자, ., _, 등으로 구성될 수 있다. 그리고 대소문자를 구분하지 않는다.

또한  세션(session) 단위로 유지되기 때문에, 한 클라이언트에서 정의한 사용자 변수는 다른 클라이언트에서 사용할 수 없다.

 

 

선언 (SET)

SET 문을 실행해서 사용자 졍의 변수를 선언할 수 있다.

SET @var_name = VALUE

# 예시
SET @var = 1;

SET @var = 1;

 

 

선언 (SELECT)

SELECT 문을 실행해서 사용자 정의 변수를 선언할 수도 있다. SET문을 실행할 때와는 다르게 대입 시 := 연산자를 사용한다.

SELECT @var_name;
SELECT @var_name := VALUE;

# 예시
SELECT @var;
SELECT @var := 2;

변수 선언 SELECT

초기화하지 않은 변수는 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

[MySQL] MySQL Variables(변수) 만들기