2つの日付(過去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' AND to_char(create_time, 'dy') = 'tue'
AND extract(hour from CAST(create_time as timestamp)) BETWEEN 14 AND 23
ありがとう:
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'
この1
は(感謝キーズJard)私のために働きました。
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