我在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 举报,一经查实,本站将立刻删除。