簡體   English   中英

查詢錯誤 ORA-01843:無效月份,數據類型為 DATE

[英]Query with error ORA-01843: not a valid month, with data of type DATE

我正在嘗試在 oracle 銀行中進行查詢,但在“data_exportacao”字段中,我發現此錯誤 - ORA-01843:無效月份 -

我做了一點研究,但我只找到了在timestemp到DATE中的數據轉換的引用,但是我在銀行中的值不是timestemp,它們是DATE。

我是 Oracle 和數據庫的新手,我的母語幾乎沒有參考資料,感謝您的耐心等待。

SELECT
      *
    FROM
      (
        SELECT
          COALESCE(TIPO, 'SOMA') AS "TIPO",
          COUNT(*) AS "QUANTIDADE",
          COALESCE(CAST(TRUNC(DATA_EXPORTACAO) AS VARCHAR(50)), 'TOTAL------------->') AS "DATA CRIAÇÃO"
        FROM
          WORKORDER
        WHERE
          DATA_EXPORTACAO BETWEEN '14/09/20' AND '19/09/20'
        AND TIPO IS NOT NULL
        GROUP BY GROUPING SETS 
        (
          (TIPO, DATA_EXPORTACAO),
          (TIPO),
          (DATA_EXPORTACAO),
          ()      
        )
       )
      PIVOT ( SUM(QUANTIDADE) FOR (TIPO) IN ('INSP', 'INSP15KV', 'PJ', 'AC', 'INSPLINHAS', 'INSPSE', 'OE', 'INSPPROTEC', 'SOMA' ) )
      ORDER BY 1;

我想用這個數據形成一個報告,在一定時間內開展的工作。

我附上了錯誤的證據,以及在我的應用程序和 Dbeaver 中訪問的數據的比較

使用date關鍵字和 YYYY-MM-DD 格式引入date常量:

DATA_EXPORTACAO BETWEEN DATE '2020-09-14' and DATE '2020-09-19'

請注意,在 Oracle 中, DATE數據類型——盡管它的名稱——也存儲時間組件。 出於這個原因,我強烈反對使用BETWEEN 反而:

DATA_EXPORTACAO >= DATE '2020-09-14' AND
DATA_EXPORTACAO < DATE '2020-09-20'

無論是否存在時間分量,這都有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM