programing

Postgre란SQL은 Oracle의 SYSDATE와 동등합니까?

newsource 2023. 3. 11. 08:59

Postgre란SQL은 Oracle의 SYSDATE와 동등합니까?

sysdate를 사용하여 다음과 같은 쿼리를 수행합니다.

select up_time from exam where up_time like sysdate

Oracle에서 가능합니다.

하지만, Postgre는,SQL은 sysdate를 지원하지 않습니다.postgres 문서에서 sysdate를 찾을 수 없습니다.PostgreSQL의 sysdate 대체 방법은 무엇입니까?

SYSDATE는 Oracle만의 기능입니다.

ANSI 표준은 다음을 정의합니다.current_date또는current_timestamp는 Postgres에서 지원되며 매뉴얼에 기재되어 있습니다.
http://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT

(Btw: Oracle 지원CURRENT_TIMESTAMP마찬가지로)

다음 두 가지 차이점에 유의해야 합니다.current_timestamp,statement_timestamp()그리고.clock_timestamp()(설명서에 설명되어 있습니다.위 링크를 참조해 주세요.)


그 부분where up_time like sysdate전혀 이 안 돼요Oracle에서도 Postgres에서도 마찬가지입니다."today"에서 행을 가져오려면 다음과 같은 것이 필요합니다.

select up_time 
from exam 
where up_time = current_date

Oracle에서는 아마도 다음과 같은 이점을 얻을 수 있습니다.trunc(up_time) = trunc(sysdate)Oracle에 항상 포함되어 있는 시간 부분을 제거합니다.

NOW()는 Postgres의 Oracle Sysdate를 대체하는 것입니다.

"Select now" (지금 선택)을 시도하면 시스템 타임스탬프가 나타납니다.

Postgre에서 현재 날짜 및/또는 시간을 얻기 위해 다음 기능을 사용할 수 있습니다.SQL:

CURRENT_TIME

CURRENT_DATE

CURRENT_TIMESTAMP

SELECT CURRENT_TIME;
08:05:18.864750+05:30

SELECT CURRENT_DATE;
2020-05-14

SELECT CURRENT_TIMESTAMP;
2020-05-14 08:04:51.290498+05:30

postgresql 문서

statement_timestamp()를 사용할 수 있습니다.이렇게 하면 문이 실행된 시점의 타임스탬프가 표시됩니다.반면에.NOW()그리고.CURRENT_TIMESTAMP트랜잭션 시작 시 타임스탬프를 제공합니다.

상세한 것에 대하여는, 메뉴얼을 참조해 주세요.

언급URL : https://stackoverflow.com/questions/16960432/what-is-postgresql-equivalent-of-sysdate-from-oracle