我正在尝试使用convert函数将日期字段转换为varchar,但它不断给出缺少的表达式错误。
我的查询:
select INVENTORY_ITEM_ID,
convert(varchar(20), IMPLEMENTATION_DATE,110)
from apps.mtl_item_revisions
where INVENTORY_ITEM_ID=21928;
给出错误:
ORA-00936:缺少表达式
00936. 00000 - "缺少表达"
*原因:
*动作:行错误:97列:35
答案 0 :(得分:-1)
以下行是Microsoft SQL Server语法,而不是Oracle语法:
convert(varchar(20), IMPLEMENTATION_DATE,110)
使用什么类型的数据库驱动程序或谁编写它并不重要。使用SQLServer语法将查询发送到Oracle,Oracle正在提供错误。 (另外,虽然在查询工具中可能需要它,但要小心用分号终止oracle SQL语句;在某些语言中(例如C#或PL / SQL中的动态SQL),可能会出现意外的字符错误。)
将您的SQL更改为:
select INVENTORY_ITEM_ID,
to_char(IMPLEMENTATION_DATE, 'mm-dd-yyyy') as IMPLEMENTATION_DATE
from apps.mtl_item_revisions
where INVENTORY_ITEM_ID=21928
这是ORAC等效的SQLServer 110日期格式