oracle 时间格式化代码出错

来源:互联网 发布:网络使用公约 编辑:程序博客网 时间:2024/05/22 11:30

项目里利用My97Datepicker 显示时间,到java端转换的时候报错了,拷贝了一下sql语句运行了一下发现错误,百度一下找到了问题的所在原来格式化的时候写

TO_DATE('2016-03-20 16:06:35','yyyy-mm-dd HH24:mm:ss')  oracle 在格式化的时候不知道该怎么解析mm了,正确写法如下:


SELECT * FROM (SELECT ROWNUM RN,T.* FROM ( SELECT *  FROM bos_iam_app_roles WHERE CREATE_TIME=TO_DATE('2016-03-20 16:06:35','yyyy-MM-dd HH24:mi:ss') )T WHERE ROWNUM <=5 ) WHERE RN>=1 

网上的说明如下:
 ORA-01810: format code appears twice
   www.2cto.com  
可能是像Java那样指定日期格式,比如:
 to_date('2006-06-01 18:00:00' 'yyyy-mm-dd hh:MM:ss')
 
而在Oracle中的日期格式是不区分大小写的,所以 mm 出现了两次。
正确的写法是:
to_date('2006-06-01 18:00:00' 'yyyy-mm-dd hh:mi:ss')      

Oralce中的to_date()函数用于将字符串转换为日期对象,具体使用格式为:
 to_date( string, [ format_mask ] , [ nls_language ] )
 
string 要转换的字符串.
format_mask 可选项,日期转换格式.
nls_language 可选项. 指定用于转换字符串的nls language.


0 0