【发布时间】:2018-01-07 22:43:52
【问题描述】:
我正在尝试使用转换函数将日期字段转换为 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
【问题讨论】:
-
使用TO_CHAR。
CONVERT用于更改字符串的字符集。 -
在所有情况下 - 每当您在插入中使用此日期 (IMPLEMENTATION_DATE) 时,例如插入 VARCHAR2 列,Oracle 都会将其隐式转换为_char。
-
转义序列中不支持 TO_CHAR。我想在 Notes SQL 中使用 this(CONVERT),它是一个 ODBC 驱动程序。
-
“转义序列中不支持 TO_CHAR”。不明白你的意思。您希望使用该转换的方式在 Sql Server 中有效,而不是在 Oracle 中。如果要将日期更改为 char,请使用 to_char 函数。
-
NotesSQL 驱动程序中是否有一个设置使它相信它指向 SQLServer DB 而不是 Oracle DB?从根本上说,您不能使用所示的 CONVERT 函数将日期存储为 Oracle 中的字符数据类型。请改用 TO_CHAR 函数。
标签: oracle