昨晚做一个系统时,需要查询两个时间区间的跨度,需要使用TO_DATE函数,一开始写成了
Sql代码
TO_DATE('2011-09-24 00:00:00','YYYY-MM-DD HH:mm:ss')
结果报ORA-01810 格式代码出现两次的错误.后来上网查询后,发现是格式化字符串有问题,
其中不应该将某个格式重复两次,否则 Oracle就不知道要从哪个占位区间去解析该字段了,
正确的格式应该是这样的,用MI来代表分钟,而不是java中的ss
Sql代码
TO_CHAR('2011-09-01 00:00:00','YYYY-MM-DD HH:MI:SS')
后来发现对于24小时制,HH支持的不好,又改成一下格式:
Sql代码
TO_CHAR('2011-09-01 00:00:00','YYYY-MM-DD HH24:MI:SS')
ORACLE中的格式化字符串不区分大小写
Sql代码
TO_DATE('2011-09-24 00:00:00','YYYY-MM-DD HH:mm:ss')
结果报ORA-01810 格式代码出现两次的错误.后来上网查询后,发现是格式化字符串有问题,
其中不应该将某个格式重复两次,否则 Oracle就不知道要从哪个占位区间去解析该字段了,
正确的格式应该是这样的,用MI来代表分钟,而不是java中的ss
Sql代码
TO_CHAR('2011-09-01 00:00:00','YYYY-MM-DD HH:MI:SS')
后来发现对于24小时制,HH支持的不好,又改成一下格式:
Sql代码
TO_CHAR('2011-09-01 00:00:00','YYYY-MM-DD HH24:MI:SS')
ORACLE中的格式化字符串不区分大小写