首页 文章

Oracle SQL to_date和to_timestamp ORA-01858:找到一个非数字字符,其中数字是预期的并且ORA-01850:小时必须在0到23之间

提问于
浏览
0

我有一小段代码:

Code

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

Errors

ORA-01858:找到一个非数字字符,其中数字是预期的01858. 00000 - “找到一个非数字字符,其中数字是预期的”*原因:使用日期格式模型转换的输入数据是不正确 . 输入数据不包含格式模型需要数字的数字 . *操作:修复输入数据或日期格式模型,以确保元素的数量和类型匹配 . 然后重试该操作 .

如果我删除 to_date 会出错

ORA-01850:小时必须介于0到23 01850之间.00000 - “小时必须介于0到23之间”*原因:*操作:

DSTAMP 字段返回 24-SEP-14 08.55.33.997545000 ,没有任何格式 .

显然预计产量是

24/09/2014和08:55:34

1 回答

  • 4

    好像它.DSTAMP是TIMESTAMP

    to_dateto_timestamp 替换为 to_char

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

相关问题