[MySQL] NOW() 함수와 SYSDATE() 함수

개발 2010. 9. 30. 14:23

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
현재의 시간을 구하는 2개의 함수가 있다.

NOW()
SYSDATE()

차이점은 무엇일까?
아래의 쿼리를 보면 알수 있다.

SELECT NOW(), SLEEP(2), NOW();
SELECT SYSDATE(), SLEEP(2), SYSDATE();

짐작이 되는가?

결과를 보자..

SELECT NOW(), SLEEP(2), NOW();
2010-09-30 14:18:35 0 2010-09-30 14:18:35

SELECT SYSDATE(), SLEEP(2), SYSDATE();
2010-09-30 14:18:35 0 2010-09-30 14:18:37


그렇다.. SYSDATE는 함수가 실행되는 순간의 시간이고, NOW는 쿼리가 실행되는 순간의 시간이다.
간단한 차이지만, SYSDATE를 사용할때 발생할수 있는 문제점은 뭐가 있을까?

한가지는, Replication이다. 리플리케이션으로 구성되어 있을때, SYSDATE를 사용하면 입력된 시간이 Master/Slave의 시간이 다를수가 있게된다. 그래서 사용시 주의가필요하다.


: