以下查询无法从java执行。在这里我使用oracle xe server
datetrx <= to_date('2014-07-16 00:00:00.0','yyyy/mm/dd hh24:mi:ss.f')
datetrx
的日期格式为dd / mm / yyyy
答案 0 :(得分:3)
to_date()
功能中的输入字符串与您的模式不匹配。该值包含-
作为分隔符,但在您使用的模式中/
:
如果您对齐输入格式和模式,这应该有效:
datetrx <= to_date('2014-07-16 00:00:00','yyyy-mm-dd hh24:mi:ss')
我个人比to_date()
函数更喜欢ANSI时间戳文字,因为它们是可移植的并且输入的次数较少:
datetrx <= timestamp '2014-07-16 00:00:00'
请注意,此处提供的字符串格式始终 ISO格式。
旁注:
任何&#34;格式&#34;在查看列daterx
中的值时,您会看到用于显示该数据的SQL客户端(SQL * Plus,SQL Developer,...)。
值本身在服务器上存储而没有格式。 SQL客户端(或您的应用程序)总是
完成<{1}}值的格式化:答案 1 :(得分:0)
请说明你的问题,很难弄清楚你想要什么... 首先,这不是经过验证的日期格式
只需输入并尝试使用DUAL:
SELECT to_date('2014-07-16 00:00:00.0', 'YYYY/MM/DD HH24:MI:SS.F')
FROM dual;
删除&#39; .F&#39;部分来自它