DB에서 현재시간을 가져오는 함수에 대해서 살펴보겠습니다.
MS-SQL, Oracle, MySql 각각 다른 함수를 지원합니다.
1. MS-SQL의 경우 GETDATE() 함수를 지원합니다.
사용법은 아래와 같습니다.
SELECT GETDATE()
결과 : 2021-06-06 11:47:000 ( 현재시간 )
SELECT 절에서만 사용하는것은 아니고 WHERE절 등 현재시간이 필요한 곳에서 어디든지 사용할 수 있습니다.
SELECT *
FROM TABLE A
WHERE TIME_STAMP < GETDATE()
- TIME_STAMP가 현재시간 이전인 데이터만 출력하겠다는 내용입니다.
2. Oracle 의경우 SYSDATE를 사용합니다.
사용법은 아래와 같습니다.
SELECT SYSDATE
FROM DUAL
결과 : 2021-06-06 12:01:124
꼭 SELECT 절에서만 사용하는것은 아니고 WHERE절 등 현재시간이 필요한 곳에서 어디든지 사용할 수 있습니다.
SELECT *
FROM TEMP_TABLE
WHERE INPUT_DT < SYSDATE
- INPUT_DT 가 현재시간 이전인 데이터만 출력하겠다는 쿼리입니다.
3. MySql 의 경우 NOW 함수를 사용합니다.
사용법은 아래와 같습니다.
SELECT NOW()
결과 : 2021-06-06 14:23:421
역시 WHERE절 등 현재시간이 필요한 곳에서 어디든지 사용할 수 있습니다.
SELECT *
FROM T_TABLE
WHERE COMPLETE_DT < NOW()
- COMPLETE_DT가 현재시간 이전인 데이터만 출력하는 쿼리입니다.
시간을 가져오는 방법에대해 살펴보았는데요~
시간을 가져온형태 그대로 밀리초(MS) 단위까지 출력하는 경우는 드물죠
원하는 형태로 출력하는 방법은 아래 글을 참조하시면 도움이 될 것 같습니다.
SQL 문자/날짜 형 변환 - TO_CHAR / TO_DATE / DATE_FORMAT / STR_TO_DATE / CONVERT (tistory.com)