微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql – TO_DATE问题

我在sql where子句中有以下内容.这是针对Oracle数据库运行的. sc_dt字段在db中定义为日期字段.
sc_dt = TO_DATE('2011-11-03 00:00:00.0','YYYY-MM-DD')

产生以下错误“日期格式图片在转换整个输入字符串之前结束”

当我尝试使用以下内容考虑小数秒(在这种情况下为.0)时,我收到以下错误.

sc_dt = TO_DATE('2011-11-03 00:00:00.0','YYYY-MM-DD HH24:MI:SS.FF')

产生以下错误“日期格式无法识别”

我真的只是假设我需要.FF来解释“from”字符串中的.0.我也尝试了.FF1,.FF2,…,.FF9,结果相同(此时我正抓住稻草).

据我所知,sc_dt字段始终填充了月/日/年部分(而不是小时/分钟/秒部分).

我正在调试一个java程序,它正在执行上面的sql作为带有2011-11-03 00:00:00.0值的预准备语句.

我怎么能绕过这个?

解决方法

您需要使用午夜过后的秒数选项.就像是:
select TO_DATE('2011-11-03 00:00:01.1','YYYY-MM-DD HH24:MI:SS.SSSSS') from dual

或这个:

select TO_TIMESTAMP('2011-11-03 00:00:00.1','YYYY-MM-DD HH24:MI:SS.FF') from dual

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐