Oracle SQL中的时间戳记日期 [英] TIMESTAMP To DATE in Oracle SQL
问题描述
我有一个称为Create_Date的列,该列的数据格式为19-JUN-18 10.27.00.000000000 PM
,数据类型为TIMESTAMP(6)
.
I have a column called Create_Date which has data in the format like 19-JUN-18 10.27.00.000000000 PM
and data type is TIMESTAMP(6)
.
我试图查看日期范围(例如昨天的日期)或Create_Date中的两个日期之间,而不使用TO_DATE(TO_CHAR(P.CREATE_DATE_TIME,'dd/mon/yy'))
并将值输入为'19-JUN-18'
.
I am trying to look at date range like yesterday's date or between two dates in Create_Date without using TO_DATE(TO_CHAR(P.CREATE_DATE_TIME,'dd/mon/yy'))
and entering the value as '19-JUN-18'
.
我想改用Create_Date=SYSDATE-1
或Create_Date=CURRENT_DATE-1
来过滤昨天的日期.或使用Create_Date>=SYSDATE
或Create_Date>=CURRENT_DATE
查看大于或等于今天的日期.
I want to use Create_Date=SYSDATE-1
OR Create_Date=CURRENT_DATE-1
instead to filter on yesterdays date. Or Use Create_Date>=SYSDATE
or Create_Date>=CURRENT_DATE
to look at dates greater than or equal to today.
有人可以帮忙吗?
推荐答案
您可以使用TRUNC
:
SELECT *
FROM tab
WHERE Create_Date >= TRUNC(SYSDATE,'DD') -- -1
-- or between to dates (using date literals)
WHERE Create_Date >= DATE 'yyyy-mm-dd'
AND Create_Date < DATE 'yyyy-mm-dd'
这篇关于Oracle SQL中的时间戳记日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!