-1

これを使用して SQL ステートメントを実行してフィールドを作成すると、目的の結果が得られます。

TO_CHAR(TRUNC(CURRENT_DATE - 8/24,'hh24'), 'DD-Mon-yyyy hh24:mi') AS "DATEVAR"

これを SQL の where ステートメントに追加すると、正しい期間の結果が得られますが、MMDDYY スコープには含まれません。何を与える?

WHERE
TO_CHAR(MOPACTIVITY.MOPEND, 'dd-mon-yyyy hh24:mi:') < TO_CHAR(TRUNC(CURRENT_DATE - 8/24,'hh24'), 'DD-Mon-yyyy hh24:mi')

あなたの天才は大歓迎です。

謹んで、

ジョナサン・モーニングスター

4

2 に答える 2

3

dd-mon-yyyy「<」で比較しています。もちろん範囲外です。これらを文字列として比較する場合は、次を使用しますyyyy-mm-dd

WHERE TO_CHAR(MOPACTIVITY.MOPEND, 'yyyy-mm-dd hh24:mi:') < TO_CHAR(TRUNC(CURRENT_DATE - 8/24,'hh24'), 'yyyy-mm-dd hh24:mi')

これらを日付として比較する方が簡単ではないでしょうか?

where MOPACTIVITY < TRUNC(CURRENT_DATE - 8/24)
于 2013-06-06T18:56:37.237 に答える
2

to_char は文字列を返すため、日付ではなく文字列を比較しています。したがって、それらはアルファベット順に比較されます。

于 2013-06-06T18:55:35.840 に答える