programing

Oracle 타임스탬프와 날짜 비교

javajsp 2023. 3. 15. 19:18

Oracle 타임스탬프와 날짜 비교

타임스탬프 필드가 있는데 Oracle 쿼리에서 날짜 부분을 비교하려고 합니다.

어떻게 해야 하죠?

SELECT *
FROM Table1
WHERE date(field1) = '2012-01-01' 

날짜 부분을 잘라낼 수 있습니다.

select * from table1 where trunc(field1) = to_date('2012-01-01', 'YYYY-MM-DD')

이 접근법의 문제점은 어떤 지표도field1함수 호출로 인해 사용되지 않습니다.

다른 방법(및 인덱스 친화적)

select * from table1 
 where field1 >= to_timestamp('2012-01-01', 'YYYY-MM-DD') 
   and field1 < to_timestamp('2012-01-02', 'YYYY-MM-DD')

날짜를 잘라낼 수 있습니다.

SELECT *
FROM Table1
WHERE trunc(field1) = to_Date('2012-01-01','YYY-MM-DD')

자세한 예는 SQL Fielen을 참조하십시오.

to_date저는 포맷이 통했어요.날짜 형식을 고려하십시오.MON-,MM,.,-.

t.start_date >= to_date('14.11.2016 04:01:39', 'DD.MM.YYYY HH24:MI:SS')
t.start_date <=to_date('14.11.2016 04:10:07', 'DD.MM.YYYY HH24:MI:SS')

언급URL : https://stackoverflow.com/questions/12609487/oracle-comparing-timestamp-with-date