oracle - Oracle SQL to_date & to_timestamp/01858: 在需要數值為&或者 01850的情況下,找到了非數值字元: 小時必須介於 0和 23之間

  显示原文与译文双语对照的内容
123 1

我有一小段代碼:

代碼

SELECT to_date(it.DSTAMP, 'DD/MM/YYYY') AS"Date", to_timestamp(it.DSTAMP, 'HH24:MI:SS') AS Time
FROM itable it

錯誤

ORA-01858: 找到一個數值為 01858的非數字字元。00000 -"在需要數值的地方發現了非數值字元"*Cause:要使用日期格式模型轉換的輸入數據不正確。輸入數據中不包含格式模型需要數字的數字。*Action: 修復輸入數據或者日期格式模型,以確保元素的MATCH 在數字和類型中。然後重試操作。

如果刪除 to_date 錯誤

ORA-01850: 小時必須介於 0和 23 01850之間。00000 -"小時必須介於 0和 23之間"*Cause:
*Action:

DSTAMP 欄位返回不帶任何格式的24-SEP-14 08.55.33.997545000

明顯預期的輸出是

24/09/2014 & 08: 55: 34

时间:原作者:0个回答

69 2

看來 it.DSTAMP 是個時間戳

to_char 替換 to_dateto_timestamp

SELECT to_char(it.DSTAMP, 'DD/MM/YYYY') AS"Date", to_char(it.DSTAMP, 'HH24:MI:SS') AS Time
FROM itable it
原作者:
...