我有一个查询返回两个日期(最后4周)和下午2点到12点之间的结果: 如何筛选以仅返回星期二?返回SQL仅适用于星期二
SELECT *
FROM monitor_files
WHERE trfr_type IN ('FTE', 'SFTP')
AND create_time >= To_timestamp('20170718 140000', 'YYYYMMDD HH24:MI:SS')
AND create_time < To_timestamp('20170819 000000', 'YYYYMMDD HH24:MI:SS')
AND trfr_status = 'C'
这一个为我工作(感谢凯斯Jard):
select *
from monitor_files
where trfr_type in ('FTE', 'SFTP')
AND CREATE_TIME >= TO_TIMESTAMP('20170718 140000', 'YYYYMMDD HH24:MI:SS')
AND CREATE_TIME < TO_TIMESTAMP('20170819 000000', 'YYYYMMDD HH24:MI:SS')
AND TRFR_STATUS ='C' AND to_char(create_time, 'dy') = 'tue'
AND extract(hour from CAST(create_time as timestamp)) BETWEEN 14 AND 23
感谢。
To_timestamp()是Oracle内置函数。如果你在sql server中执行该命令,你会得到To_timestamp'不是一个公认的内置函数名称 –
是的@ OLIVER.KOO很好。 OP,您应该能够以类似的方式在DAY_OF_WEEK中使用EXTRACT。 https://docs.oracle.com/cd/E37483_01/server.751/es_eql/src/ceql_functions_date_extract.html –
而我刚刚注意到,我的上述查询在午夜之后给了我时间,我只希望在下午2点和午夜之间。 – user1034127