티스토리 뷰

SQL을 작성하다 보면 현재 시간이 필요할 때가 있다.
이 때 활용할 수 있는 함수가 MySQL 에는 두 가지가 있다.
  • sysdate()
  • now()

어떤 차이가 있을까?
둘 다 현재 날짜 값을 가져오는 기능을 한다. 다만 현재라는 기준이 다소 다를 뿐이다.
아래 예시를 참고해 보자.
(본 예시는 MySQL 공식문서에서 가져온 내용이다.)

두 번째 예제를 보면 sysdate() 사이에 차이가 있음을 확인할 수 있다.
정리를 해 보면 아래와 같이 정리할 수 있다.
  • sysdate() : 함수 호출 시간
  • now() : 쿼리 수행 시간

그렇다면 하나의 쿼리에서 여러 번의 현재 날짜를 저장해야 하는 컬럼이 있다면 now() 를 사용하는 것이 맞다.
하지만 개발된 코드를 보면 그냥 기준 없이 사용되는 경우가 있을 것이다.
문제가 없을까?

MySQL 에는 —sysdate-is-now 라는 옵션이 있다.(기본값 false)
옵션명에서도 확인할 수 있듯이 sysdate 와 now 가 같다라는 의미이다.

이 옵션을 true로 설정하면 sysdate() 는 now() 와 동일하게 동작한다. 


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함