[MySQL][MariaDB] 날짜api 정리

하파타카·2022년 6월 1일
0

SQL

목록 보기
8/26

자주 사용되지만 그 이상으로 자주 헷갈리는 날짜api 정리.


now(), SYSDATE()

현재날짜, 시간을 반환. (yyyy-mm-dd hh:mm:ss)

SELECT NOW();
SELECT SYSDATE();
// 결과: 2022-05-26 17:58:16

단, now(), SYSDATE()는 시간을 측정하는 시점이 다른데,
now()는 해당 쿼리문이 최초실행될 때의 시각을 한번만 반환
SYSDATE()SYSDATE()가 호출될 때마다 새로운 값을 리턴하므로 예측이 어렵다는 특징을 가진다.
특히 한 쿼리문 내에서 여러번 사용될 때 차이가 가장 두드러지게 된다.

이해가 어렵다면 링크를 참고할 것.
간단히 이해하자면 특별한 경우가 아닌 이상 항상 now()를 사용한다고 생각하면 된다.

mariaDB공식문서 sysdate
mariaDB공식문서 now

MySQL NOW()와 SYSDATE()의 차이


CURDATE()

현재날짜를 반환. (yyyy-mm-dd)

SELECT CURDATE();
// 결과: 2022-05-26

CURTIME()

현재 시간을 반환. (hh:mm:ss)

SELECT CURTIME();
// 결과: 18:00:54

DATE_FORMAT

날짜를 특정 format형식의 문자열로 변환하여 반환.
format양식은 종류가 매우 많으니 따로 찾아보거나 독립적인 포스팅을 올릴 것.

사용
DATE_FORMAT(date, format)

SELECT DATE_FORMAT(NOW(), '%y-%m-%d');
// 결과: "SELECT DATE_FORMAT(NOW(), '%y-%m-%d');"

DATE_FORMAT에 대해서는 바로 직전의 포스팅에 따로 정리해두었으니 링크참고. (단, 참고링크의 원문을 보는게 더 나을것같음...)


참고 링크

https://java119.tistory.com/50

profile
천 리 길도 가나다라부터

0개의 댓글

관련 채용 정보