我正在尝试为 aDate为 null的情况编写一个案例,但我不断收到此错误:
ORA-00932: inconsistent datatypes: expected CHAR got DATE
00932. 00000 - "inconsistent datatypes: expected %s got %s"
*Cause:
*Action:
Run Code Online (Sandbox Code Playgroud)
代码非常简单。null与 a 比较时是否有不同的检查方法Date?
case
when cr.COMPLETED_DATE is null then '--'
else cr.COMPLETED_DATE
end completed_date,
Run Code Online (Sandbox Code Playgroud)
这里的问题在于case when语句的返回值
cr.COMPLETED_DATE is null then '--'
Run Code Online (Sandbox Code Playgroud)
返回string datatype和
else cr.COMPLETED_DATE
Run Code Online (Sandbox Code Playgroud)
返回 a date datatype,因此错误
不一致的数据类型:预期的 CHAR 得到了 DATE
一种解决方法是将第二种情况的数据类型更改为 char
case
when cr.COMPLETED_DATE is null then '--'
else to_char(cr.COMPLETED_DATE, 'dd-mm-yyyy')
end completed_date,
Run Code Online (Sandbox Code Playgroud)
或使用像“约会1900-01-01”的日期是null像
case
when cr.COMPLETED_DATE is null then Date '1900-01-01'
else cr.COMPLETED_DATE
end completed_date,
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
634 次 |
| 最近记录: |