MySQL NOW() 및 SYSDATE() 함수는 현재 타임스탬프 값을 반환합니다. 그러나 둘 다의 출력은 실행 시간에 따라 다릅니다. 이것은 그들 사이에 큰 차이를 만듭니다.
NOW() 함수는 특정 명령문이 실행되기 시작한 시간을 나타내는 일정한 시간을 반환합니다. 대조적으로 SYSDATE() 함수는 명령문이 실행되는 정확한 시간을 반환합니다. 다음 예제는 이러한 기능의 차이점을 보여줍니다 -
mysql> NOW(), SLEEP(5), NOW() 선택;+------------------+-------- --+----------+| 지금() | 슬립(5) | 지금() |+---------------------+----------+------------ ---------+| 2017-10-31 09:57:36 | 0 | 2017-10-31 09:57:36 |+---------------------+----------+----- ----------------+1 행 세트(5.11초)
위의 쿼리는 NOW() 함수가 5초의 시스템 휴면 후에도 동일한 값을 반환하기 때문에 실행이 시작된 시간을 반환함을 보여줍니다.
<미리>mysql> SYSDATE(), SLEEP(5), SYSDATE() 선택;+------------------+-------- --+----------+| SYSDATE() | 슬립(5) | SYSDATE() |+---------------------+----------+------------ ---------+| 2017-10-31 09:58:13 | 0 | 2017-10-31 09:58:18 |+---------------------+----------+----- ----------------+1 행 세트(5.00초)비교하여 위의 쿼리는 SYSDATE() 함수가 5초의 시스템 휴면 후 실제로 5초 증가된 값을 반환하기 때문에 실행 시간을 반환함을 보여줍니다.