상세 컨텐츠

본문 제목

sql 쿼리에서 current_timestamp 기능이란?

IT/DB

by JR 2025. 7. 19. 18:12

본문

300x250
반응형

 

 

 

SQL에서 CURRENT_TIMESTAMP는 현재 날짜와 시간을 반환하는 내장 함수입니다. 데이터베이스 서버가 현재 시점을 기준으로 자동으로 값을 생성해 주기 때문에, 주로 다음과 같은 용도로 많이 사용됩니다:


✅ 주요 용도

 

1. 데이터 입력 시 생성 시간 기록

INSERT INTO users (username, created_at)
VALUES ('chatgpt_user', CURRENT_TIMESTAMP);

 

 

2. 로그 테이블에 이벤트 발생 시간 기록

INSERT INTO logs (event_type, event_time) VALUES ('login', CURRENT_TIMESTAMP);

 

 

3. 최근 데이터 조회 (예: 최근 1시간 이내 데이터)

 
SELECT * FROM orders WHERE order_time > CURRENT_TIMESTAMP - INTERVAL '1 hour';

✅ 반환 형식

 

CURRENT_TIMESTAMP는 보통 다음 형식으로 날짜와 시간을 반환합니다 (DBMS마다 약간 다름):

YYYY-MM-DD HH:MI:SS[.fractional_seconds]
예: 2025-07-16 10:30:45.123

 


✅ 다른 유사한 함수 비교

함수명 설명
CURRENT_TIMESTAMP 현재 날짜와 시간 (타임존 포함 가능)
NOW() CURRENT_TIMESTAMP와 거의 동일 (MySQL 등)
SYSDATE 현재 실행 시점의 시간 (Oracle 등)
GETDATE() 현재 날짜와 시간 (SQL Server)
 

✅ DBMS별 지원

DBMS 지원여부 주석
MySQL NOW()과 동일하게 사용 가능
PostgreSQL CURRENT_TIMESTAMP, NOW() 모두 사용
Oracle SYSTIMESTAMP 더 정밀
SQL Server GETDATE() 또는 CURRENT_TIMESTAMP 사용
 

 

CUBRID에서는 다음 세 가지 함수:

  • NOW(3)
  • SYSDATE(3)
  • CURRENT_TIMESTAMP(3)

이 모두 현재 날짜와 시간 + 소수점 이하 3자리의 밀리초(millisecond)까지 포함된 timestamp 값을 반환하며, 결과는 동일하게 나옵니다.


✅ 설명 요약

함수 설명 정밀도
NOW(3) 현재 날짜와 시간 반환 (밀리초 포함) 3자리
SYSDATE(3) 현재 시스템 시각 반환 (밀리초 포함) 3자리
CURRENT_TIMESTAMP(3) ANSI SQL 표준. 현재 timestamp 반환 3자리
 

✅ 예시 출력값

 
2025-07-16 10:38:45.123

✅ (...3) 의미

CUBRID에서 괄호 안 숫자는 소수점 이하의 초 정밀도(precision) 를 설정합니다:

  • NOW(0) → 2025-07-16 10:38:45
  • NOW(3) → 2025-07-16 10:38:45.123
  • NOW(6) → 2025-07-16 10:38:45.123456 ← 마이크로초

✅ 정리

  • CUBRID에서는 NOW(), SYSDATE(), CURRENT_TIMESTAMP() 모두 같은 결과를 반환합니다.
  • (3)은 밀리초까지 포함하라는 뜻이며, 실질적으로 위 세 함수는 거의 완전 동일하게 동작합니다.
  • 차이점은 거의 없고, 가독성이나 SQL 표준 호환성 정도의 차이만 있습니다.

 

 

 

300x250
반응형

관련글 더보기