날짜/시간 변수를 선언하려면 SET 명령을 사용하여 사용자 정의 변수를 사용해야 합니다. 구문은 다음과 같습니다 -
SET @anyVariableName=’yourdatetimeValue’;
위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -
mysql> create table datetimeVariables -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10), -> ArrivalDatetime datetime, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.78 sec)
삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 레코드를 삽입하는 쿼리는 다음과 같습니다 -
mysql> insert into datetimeVariables(Name,ArrivalDatetime) values('John','2011-01-31 13:45:20'); Query OK, 1 row affected (0.53 sec) mysql> insert into datetimeVariables(Name,ArrivalDatetime) values('Sam','2012-04-25 15:30:25'); Query OK, 1 row affected (0.18 sec) mysql> insert into datetimeVariables(Name,ArrivalDatetime) values('Larry','2013-10-04 16:40:30'); Query OK, 1 row affected (0.10 sec) mysql> insert into datetimeVariables(Name,ArrivalDatetime) values('Bob','2014-05-15 10:30:25'); Query OK, 1 row affected (0.33 sec) mysql> insert into datetimeVariables(Name,ArrivalDatetime) values('Mike','2017-08-13 11:30:25'); Query OK, 1 row affected (0.08 sec) mysql> insert into datetimeVariables(Name,ArrivalDatetime) values('David','2018-04-25 09:30:25'); Query OK, 1 row affected (0.20 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -
mysql> select *from datetimeVariables;
다음은 출력입니다 -
+----+-------+---------------------+ | Id | Name | ArrivalDatetime | +----+-------+---------------------+ | 1 | John | 2011-01-31 13:45:20 | | 2 | Sam | 2012-04-25 15:30:25 | | 3 | Larry | 2013-10-04 16:40:30 | | 4 | Bob | 2014-05-15 10:30:25 | | 5 | Mike | 2017-08-13 11:30:25 | | 6 | David | 2018-04-25 09:30:25 | +----+-------+---------------------+ 6 rows in set (0.00 sec)
다음은 SET 명령어를 이용하여 datetime 변수를 선언하는 쿼리이다. 쿼리는 다음과 같습니다 -
mysql> set @greaterThan2011Datetime='2012-04-25 15:30:25'; Query OK, 0 rows affected (0.00 sec)
다음은 선택 쿼리에서 변수를 사용하는 것입니다. 쿼리는 다음과 같습니다 -
mysql> select *from datetimeVariables -> where ArrivalDatetime> = @greaterThan2011Datetime;
다음은 출력입니다 -
+----+-------+---------------------+ | Id | Name | ArrivalDatetime | +----+-------+---------------------+ | 2 | Sam | 2012-04-25 15:30:25 | | 3 | Larry | 2013-10-04 16:40:30 | | 4 | Bob | 2014-05-15 10:30:25 | | 5 | Mike | 2017-08-13 11:30:25 | | 6 | David | 2018-04-25 09:30:25 | +----+-------+---------------------+ 5 rows in set (0.00 sec)