この質問を投稿する前に、私はその時を見ましたが、私の問題は解決しません。if条件に基づいて選択を実行
このシナリオは、月曜日かどうかに基づいて、テーブルからデータを取得する必要があります。私はPL/SQLブロックで書くことができますが、私はこれを平易なSQLで実現したいと思います。
お願いします。
この質問を投稿する前に、私はその時を見ましたが、私の問題は解決しません。if条件に基づいて選択を実行
このシナリオは、月曜日かどうかに基づいて、テーブルからデータを取得する必要があります。私はPL/SQLブロックで書くことができますが、私はこれを平易なSQLで実現したいと思います。
お願いします。
to_char(sysdate-3, 'DAY')
MONDAY
を返します。あなたはそれをトリミングしnull
よりdecode
返り異なる値を使用してすることができます
select decode(TRIM(to_char(sysdate-3, 'DAY')),'MONDAY', 1, null) from dual
EDIT:あなたは
where decode(to_char(sysdate-3, 'fmDAY'), 'MONDAY', 1, null) =1
* sysdate-3
だったことができる場所で
それはThurだから選ぶ
select * from table1
where to_char(sysdate, 'DY') = 'MON'
union all
select * from table2
where to_char(sysdate, 'DY') != 'MON'
これはあなたのNLS設定に依存しているように一日リテラルを使用する:sday今日のテーブルを想定し
'to_char(sysdate-3、 'fmDAY')'もTRIMの代わりに機能します。 –
は、これが機能するのと同じ構造を有しています。必要に応じてソリューションを調整してください。
これを少し拡張すると、これは私がやりたいことです - 月曜日がcurdateかどうかを確認してから、* another_tableから*を選択してください。これはSQLだけでも可能ですか? – julie