Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 인수 없이 UNIX_TIMESTAMP() 함수를 사용하면 어떤 값이 반환될까?

UNIX_TIMESTAMP() 함수를 인수 없이 호출하면?

MySQL에서 UNIX_TIMESTAMP() 함수를 인수 없이 호출하면, 현재 날짜와 시간에 해당하는 Unix 타임스탬프를 반환합니다. 즉, 인수를 생략하는 것은 NOW() 함수를 인수로 전달하는 것과 완전히 동일한 결과를 얻는다는 의미입니다.

인수 없이 호출한 경우와 NOW()를 사용한 경우 비교

실제로 두 가지 방식을 실행해 보면 MySQL이 동일한 값을 반환하는 것을 확인할 수 있습니다.

mysql> Select UNIX_TIMESTAMP();
+------------------+
| UNIX_TIMESTAMP() |
+------------------+
|       1509405559 |
+------------------+
1 row in set (0.00 sec)

mysql> Select UNIX_TIMESTAMP(NOW());
+-----------------------+
| UNIX_TIMESTAMP(NOW()) |
+-----------------------+
|            1509405559 |
+-----------------------+
1 row in set (0.00 sec)

FROM_UNIXTIME()으로 결과 검증하기

위 쿼리에서 얻은 결과값을 FROM_UNIXTIME() 함수의 인수로 전달하면, 해당 Unix 타임스탬프가 실제로 현재 시각을 나타낸다는 것을 역으로 확인할 수 있습니다.

mysql> Select FROM_UNIXTIME(1509405559);
+---------------------------+
| FROM_UNIXTIME(1509405559) |
+---------------------------+
| 2017-10-31 04:49:19       |
+---------------------------+
1 row in set (0.00 sec)

정리

결론적으로, MySQL에서 UNIX_TIMESTAMP() 함수를 인수 없이 사용하면 NOW() 함수를 인수로 넘긴 것과 같으며, 호출 시점의 현재 날짜와 시간을 기준으로 한 Unix 타임스탬프(1970-01-01 00:00:00 UTC 이후 경과된 초 단위 값)가 반환됩니다.