DATEのOracleSQL比較は間違った結果を返します

Veljko

私が持っているREPORTDATEデータベース(中列DATETIME)タイプを。DATEDATETIMEから値のみを抽出してから、COUNT毎日実行しWHERE特定の日付より後の日付のみを制限する句を配置したいと思います。

だから私はこの節を持っています:

SELECT to_char(REPORTDATE, 'DD.MM.YYYY') AS MY, COUNT(*) from INCIDENT
where to_char(REPORTDATE, 'DD.MM.YYYY')>'09.11.2013'

GROUP BY to_char(REPORTDATE, 'DD.MM.YYYY')

結果は返されますが、:などの間違った結果に気付く30.10.2013ことがあります。これは間違った結果です。

これを解決する方法は?

ラリットクマールB

WHERE to_char(REPORTDATE、 'DD.MM.YYYY')> '09 .11.2013 '

2つの文字列を比較しています。DATEを比較する必要があります。ここで他の回答ですでに述べたように、日付の計算では日付をそのままにしておく必要があります。TO_CHARは表示用であり、TO_DATEは文字列リテラルをDATEに変換するためのものです。

SELECT TO_CHAR(REPORTDATE, 'DD.MM.YYYY'),
  COUNT(*)
FROM TABLE
WHERE REPORTDATE > TO_DATE('09.11.2013', 'DD.MM.YYYY')
GROUP BY TO_CHAR(REPORTDATE, 'DD.MM.YYYY') 

また、REPORTDATEはDATE列であるため、datetime要素が含まれます。したがって、比較中に時間要素を除外する場合は、TRUNCを使用する必要があります

WHERE TRUNC(REPORTDATE) > TO_DATE('09.11.2013', 'DD.MM.YYYY')

ただし、日付列にTRUNC適用すると、その列の通常のインデックスは抑制されます。パフォーマンスの観点から、日付範囲条件を使用することをお勧めします

例えば、

WHERE REPORTDATE
BETWEEN 
        TO_DATE('09.11.2013', 'DD.MM.YYYY')
AND     
        TO_DATE('09.11.2013', 'DD.MM.YYYY') +1

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

mysql WHERE BETWEEN by dateは間違った結果を返しますか?

分類Dev

File.isFileは()間違った結果を返しますか?

分類Dev

listviewonClickは間違った結果を返します

分類Dev

集計+平均は間違った結果を返します

分類Dev

SQL Like with wildcardは、特定の文字で間違った結果を返します

分類Dev

Android Studioは、単純な数式の間違った結果を返します

分類Dev

uniqueNは、jの条件で間違った結果を返します

分類Dev

SUM(DISTINCT(column))は、特定の条件で間違った結果を返します

分類Dev

Stack.peek()の比較では、-1024に対して間違った結果が返されます

分類Dev

Oracleの "order by"句は、結果を間違った順序で返すか、結果が欠落しています

分類Dev

Hibernateは間違った結果セットを返し、間違ったクエリを生成します

分類Dev

中間結果を保存しないと、Eigenは間違った結果を返します

分類Dev

PHP date_diffは、2つの日時を比較するために間違った値を返します

分類Dev

ElasticsearchMatchQueryが間違った結果を返しています

分類Dev

短いClojureコードは間違った結果を返します

分類Dev

MPIギャザーは間違った順序で結果を返します

分類Dev

date-fns-timezone間違った結果を出しますか?

分類Dev

一部の関数は、なしではなく間違った結果を返します

分類Dev

LoopBack filter "where and"は、間違った/同じ結果を任意の値で返します

分類Dev

Vlookupはシートの下部近くで間違った結果を返します

分類Dev

複素数ベクトル転置は、間違った符号の結果を返します:MATLAB

分類Dev

GROUP BYMONTHは間違った結果をもたらします

分類Dev

Timedelta操作は間違った結果をもたらします

分類Dev

間違った結果を返すSQL

分類Dev

OpenMPの崩壊は間違った結果をもたらします

分類Dev

Timedeltaとの時差は間違った結果をもたらします

分類Dev

Pythonのreplace関数は間違った結果をもたらします

分類Dev

単純な比較は間違った結果を投げますVue

分類Dev

cuSparse(cusparseDcsrgemm)での行列の乗算は、間違った結果を出力します

Related 関連記事

  1. 1

    mysql WHERE BETWEEN by dateは間違った結果を返しますか?

  2. 2

    File.isFileは()間違った結果を返しますか?

  3. 3

    listviewonClickは間違った結果を返します

  4. 4

    集計+平均は間違った結果を返します

  5. 5

    SQL Like with wildcardは、特定の文字で間違った結果を返します

  6. 6

    Android Studioは、単純な数式の間違った結果を返します

  7. 7

    uniqueNは、jの条件で間違った結果を返します

  8. 8

    SUM(DISTINCT(column))は、特定の条件で間違った結果を返します

  9. 9

    Stack.peek()の比較では、-1024に対して間違った結果が返されます

  10. 10

    Oracleの "order by"句は、結果を間違った順序で返すか、結果が欠落しています

  11. 11

    Hibernateは間違った結果セットを返し、間違ったクエリを生成します

  12. 12

    中間結果を保存しないと、Eigenは間違った結果を返します

  13. 13

    PHP date_diffは、2つの日時を比較するために間違った値を返します

  14. 14

    ElasticsearchMatchQueryが間違った結果を返しています

  15. 15

    短いClojureコードは間違った結果を返します

  16. 16

    MPIギャザーは間違った順序で結果を返します

  17. 17

    date-fns-timezone間違った結果を出しますか?

  18. 18

    一部の関数は、なしではなく間違った結果を返します

  19. 19

    LoopBack filter "where and"は、間違った/同じ結果を任意の値で返します

  20. 20

    Vlookupはシートの下部近くで間違った結果を返します

  21. 21

    複素数ベクトル転置は、間違った符号の結果を返します:MATLAB

  22. 22

    GROUP BYMONTHは間違った結果をもたらします

  23. 23

    Timedelta操作は間違った結果をもたらします

  24. 24

    間違った結果を返すSQL

  25. 25

    OpenMPの崩壊は間違った結果をもたらします

  26. 26

    Timedeltaとの時差は間違った結果をもたらします

  27. 27

    Pythonのreplace関数は間違った結果をもたらします

  28. 28

    単純な比較は間違った結果を投げますVue

  29. 29

    cuSparse(cusparseDcsrgemm)での行列の乗算は、間違った結果を出力します

ホットタグ

アーカイブ