如何在 oracle 中将 varchar 转换为日期

问题描述

我有一个 NVACHAR2() 格式的列,但它保存日期,像这样(列名是 ORGINALDATE):
1/9/2019 3:46:59 PM
我无法更改列的格式,但我需要对此进行日期。我用过
TO_DATE(ORGINALDATE,'MM/DD/YYYY HH:MI:SS') AS times
运行后显示此错误:--日期格式图片在转换整个输入字符串之前结束

解决方法

该错误似乎表明您提供的格式没有提供用于解析整个日期的信息,而信息则保留在输入字符串中。这随后被视为无效。发生这种情况的原因是原始数据的 AM/PM 未在格式字符串中捕获。查看 https://www.techonthenet.com/oracle/functions/to_date.php,我们看到 AM/PM 可以添加到格式字符串中。因此将您的格式字符串更改为

MM/DD/YYYY HH:MI:SS PM

应该修复它。应该注意的是,A.M.、AM、P.M. 或 PM 中的任何一个似乎都是有效的,并且只是指定存在一天中的时间信息。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...