首页 > 代码库 > ORA-01810格式代码出现两次 的解决方案

ORA-01810格式代码出现两次 的解决方案

今早做一个查询页面时,需要查询两个时间区间的跨度,使用TO_DATE函数,一开始写成了
Sql代码
TO_DATE(‘2014-08-04 00:00:00‘,‘YYYY-MM-DD HH:mm:ss‘)

 

结果报ORA-01810 格式代码出现两次的错误.后来上网查询后,发现是格式化字符串有问题,
其中不应该将某个格式重复两次,否则Oracle就不知道要从哪个占位区间去解析该字段了,
正确的格式应该是这样的,用MI来代表分钟
正确Sql代码 :
TO_CHAR(‘2014-08-04 00:00:00‘,‘YYYY-MM-DD HH:MI:SS‘)

如果HH对24时制支持不好的话  可以写成下面的格式
Sql代码 :
TO_CHAR(‘2014-08-04 00:00:00‘,‘YYYY-MM-DD HH24:MI:SS‘)

ORACLE中的格式化字符串不区分大小写