-1

Null 値も含まれる日付範囲の間のデータを除外しようとしています。

データベースの一部のデータでは、start_date は 19/01/2013 で end_date = null です。この特定の値も含める必要があります。これまでに試したクエリは次のとおりです

SELECT T1.START_DATE,
       T1.END_DATE
FROM   myTable T1
WHERE  to_date(T1.START_DATE, 'DD/MM/yyyy HH24:MI:SS') >= to_date('01/01/2013 10:58:58', 'DD/MM/yyyy HH24:MI:SS')
       AND to_date(T1.END_DATE, 'DD/MM/yyyy HH24:MI:SS') <= to_date(IS NULL('21/01/2013 10:58:58', 0), 'DD/MM/yyyy HH24:MI:SS')

null 値の結果がまだ見つかりません。この問題の解決方法を教えてください。

ありがとう

4

1 に答える 1

0

私はSQLServerに完全には精通していませんto_date()が、とにかくSQLServer関数のようには見えません。Oracle Databaseのドキュメントでその参照を見つけたので、おそらくOracleSQLを意味します。これを試して:

SELECT
    T1.START_DATE,
    T1.END_DATE
FROM myTable T1
WHERE 
    to_date(T1.START_DATE,'DD/MM/yyyy HH24:MI:SS') >= to_date('01/01/2013 10:58:58','DD/MM/yyyy HH24:MI:SS')
    AND (
        to_date(T1.END_DATE,'DD/MM/yyyy HH24:MI:SS') <= to_date('21/01/2013 10:58:58', 'DD/MM/yyyy HH24:MI:SS')
        OR T1.END_DATE IS NULL
    );
于 2013-01-22T07:50:16.400 に答える