我有一個查詢返回兩個日期(最後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