下面的SQL有什么错误:
select to_Date(substr('2/22/2015 9:20:06 AM',1,9),'mm/dd/yyyy','DD-MON-YY') from dual
我收到以下错误:
ORA-12702: SQL 函数中使用的 NLS 参数字符串无效错误
But select substr('2/22/2015 9:20:06 AM',1,9) from dual
shows 2/22/2015
。我想将其转换为日期。
to_Date(substr('2/22/2015 9:20:06 AM',1,9),'mm/dd/yyyy','DD-MON-YY')
将查询分解为各个部分,然后进行理解。
substr and to_date是正在使用的两个函数。
- 提取所需的子字符串,substr('2/22/2015 9:20:06 AM',1,9)
- 正在申请
TO_DATE
在步骤 1 的输出上,TO_DATE(substr('2/22/2015 9:20:06 AM',1,9),'月/日/年').
- 就是这样。
所以,在您发布的查询中,'DD-MON-YY'
根本不需要格式掩码。
此外,您想要实现的目标相当于:
TRUNC(TO_DATE('2/22/2015 9:20:06 AM', 'MM/DD/YYYY HH:MI:SS AM'))
TRUNC从 a 中删除时间部分DATE type.
或者,
你可以使用ANSI 时间戳 http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements003.htm#BABGIGCJ文字:
TRUNC(TIMESTAMP '2015-02-22 09:20:06')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)