sql - 查找错误 ORA-00932 : inconsistent datatypes: expected DATE got NUMBER

标签 sql oracle

当我尝试运行此查询时,出现上述错误。有人可以帮助我吗

UPDATE CCO.ORDER_CREATION 
   SET "Doc_Date" = 8/9/2013 
 WHERE "Document_Number" IN (3032310739,3032310740,3032310738)

最佳答案

8/9/2013是一个数值:8 除以 9 除以 2013。

您应该使用 to_date()函数将字符串转换为日期:

UPDATE CCO.ORDER_CREATION 
   SET "Doc_Date" = to_date('08/09/2013', 'dd/mm/yyyy')
 WHERE "Document_Number" IN (3032310739,3032310740,3032310738);

您可能需要调整格式掩码,因为不清楚您指的是 8 月、9 日还是 9 月 8 日

或者,您可以使用 ANSI 日期文字(ANSI SQL 日期文字的格式始终为 yyyy-mm-dd):
UPDATE CCO.ORDER_CREATION 
   SET "Doc_Date" = DATE '2013-09-08'
 WHERE "Document_Number" IN (3032310739,3032310740,3032310738);

关于sql - 查找错误 ORA-00932 : inconsistent datatypes: expected DATE got NUMBER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18330123/

相关文章:

oracle - 在不定义函数的情况下检查 bool 表达式中的素数

java - 设置 WebLogic Server 11g (10.3.6) : Native Library to read the password securely from commandline is not found 时出错

php - 这个mysql代码的小解释

mysql - 更好地优化 50,000 多条记录的 SELECT SQL 查询

java简单日期模式TO oracle sql日期模式

sql - 如何在sql查询中执行这一步?

sql - 检查TEXT列的内容是否为纯数字

php - 通过没有循环的数组从MySQL获取值

sql - GROUP_CONCAT 与 dplyr 或 R

mysql - 将文件从 MySQL 移植到 Oracle Express 10g