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

SQL 开发人员单元测试错误?

查询在 JDBC 中使用时返回的行数少于 SQL 开发人员

在 Windows 10 上安装 SQL Server 2017 开发人员版时出现“糟糕”错误

[初级]Java开发人员最常犯的10个错误

编写SQL时PHP开发人员所犯的5个常见错误

从 PL/SQL 开发人员处读取 XML 文件