SQL 开发人员中的日期转换返回错误
Posted
技术标签:
【中文标题】SQL 开发人员中的日期转换返回错误【英文标题】:DATE CONVERSION IN SQL DEVELOPER RETURNS AN ERROR 【发布时间】:2020-08-04 20:20:20 【问题描述】:我有这个代码:
DEFINE value1 = '20-JUL-20';
SELECT to_DATE(&&value1, 'DD-MON-YY') from dual;
但返回此错误:
ORA-00904: "JUL": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
Error at Line: 17 Column: 19
将字符串转换为日期似乎有问题。 我想知道你们是否可以解释原因以及是否有解决方法。 谢谢。
【问题讨论】:
您还应该指定语言,即。 E.添加参数'nls_date_language=english'
除了您眼前的问题,您是否听说过一种叫做 Y2k 错误的东西?永远不要使用 2 位数的年份!
根据我的经验,不依赖于语言相关的日期格式(或两位数年份)要好得多。从长远来看,使用 ISO 格式 yyyy-mm-dd
会为您省去很多麻烦。
【参考方案1】:
您需要在替换变量周围加上单引号:
DEFINE value1 = '20-JUL-20';
SELECT to_DATE('&&value1', 'DD-MON-YY') from dual;
【讨论】:
以上是关于SQL 开发人员中的日期转换返回错误的主要内容,如果未能解决你的问题,请参考以下文章