昨晚做一个系统时,需要查询两个时间区间的跨度,需要使用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中的格式化字符串不区分大小写
本文介绍了在Oracle数据库中使用TO_DATE函数时遇到的常见错误及解决方法,特别是关于日期格式化字符串的正确使用,包括如何正确指定小时、分钟和秒。
9753

被折叠的 条评论
为什么被折叠?



