MySQL 오늘 날짜 및 어제 날짜 구하기
오라클에서는 쉽게 구하는 날짜가 마리아 DB에서 구하려고 하니 막막하다. 맨날 오라클 토드만 사용해서 그런지 마리아 DB는 너무 생소하고 MySQL은 1도 모르겠다. 이래서 새로운 경험을 많이 해봐야 하는 것 같다. 이 참에 새로운 MySQL을 다뤄보니 좋게 생각해야겠다.
그 기본적인 시작으로 오늘 날짜와 어제 날짜 등 날짜를 조회하는 방법에 대해 알아보겠다.
(1) SQL 오늘 날짜
토드에서 날짜 구하는 쿼리는 자주 사용해서 쉽게 알 것이다. 바로 SYSDATE!
SELECT 문을 사용하여 조회하면 된다. 여기서 MySQL과 다르게 FROM DUAL을 사용한다.
SELECT SYSDATE FROM DUAL;
SELECT SYSDATE FROM DUAL;
이렇게 조회하게 되면 시간까지 알 수 있다. 토드에서 날짜를 구하는 것은 쉽게 알 것이다.
(2) MySQL 오늘 날짜
현재 마리아 DB를 사용 중이다. 여기서 SYSDATE를 사용하면 당연히 안된다.
MySQL에서는 NOW()를 사용해서 오늘 날짜를 조회할 수 있다.
SELECT NOW(); 여기서 SQL과 다르게 FROM DUAL을 쓰지 않아도 된다. 좀 더 짧은 쿼리로 조회할 수 있다.
SELECT NOW();
이렇게 조회하게 되면 시간까지 알 수 있다.
(3) SQL 어제 날짜
SQL로 어제 날짜를 구하려면 오늘 날짜에 -1을 해서 조회하면 된다.
SELECT SYSDATE -1 FROM DUAL; 오늘 날짜를 구하는 것처럼 간단하게 알 수 있다.
SELECT SYSDATE-1 FROM DUAL;
(4) MySQL 어제 날짜
MySQL에서 어제 날짜를 구하는 것은 NOW()에서 -1을 해주는 것이 아니다.
바로 INTERVAL 1 DAY을 빼줘야 한다. 여기서 새로운 사실을 알았다. SQL보다는 좀 더 길어진 쿼리가 필요하다. 딱, 날짜만 조회하고 싶다면 DATE_FORMAT을 사용해서 년월일만 가져올 수 있다. SQL의 TO_DATE와 같은 개념이라고 생각하면 좋을 것 같다.
SELECT DATE_FORMAT(NOW()- INTERVAL 1 DAY,'%Y%m%d');
날짜만 구하는 방법이다.
SQL과 MySQL의 차이점은 엄청 많을 테지만 이렇게 하나하나씩 알아가다 보면 아는 것은 많아지고 모르는 것은 적어지게 되겠지! 다음에는 MERGE문의 차이를 공부해야겠다.
날짜 구하는 것은 이제 안 까먹고 쉽게 사용할 수 있을 것 같다.