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 开发人员中的日期转换返回错误的主要内容,如果未能解决你的问题,请参考以下文章