본문 바로가기

『IT/개발』/MySQL

[MySQL] 쿼리문에 사용자 정의 변수 사용하기.

MySQL 사용자 정의 변수

MySQL 에서는 사용자가 변수를 선언하고 선언된 변수를 쿼리문에서 사용하는 것이 가능하다.


아주 간단한 예제로 한번 살펴보자.

SET @v = 10;

SELECT @v + 1;

이렇게 하면 결과는 머 다들 예상하시다 시피 11 이라는 값이 나오게됩니다.


좀더 응용을 해서 사용해볼까요?

BETWEEN 을 사용해서 일정 기간을 검색하는 쿼리입니다.

SET @m = 2; -- 이번달 0, 한달전 1, 두달전 2 입력
SET @s = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL @m MONTH), "%Y-%m-01");
SET @e = DATE_FORMAT(LAST_DAY(DATE_SUB(CURDATE(), INTERVAL @m MONTH)), "%Y-%m-%d 23:59:59");

SELECT
    *
FROM
    `TB_Month`
WHERE
    `Month` BETWEEN @s AND @e

이렇게 잘만 사용하면 정말 편한 기능입니다.

감사합니다.