ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBER 这是因为 THEN 后面是 CHAR 类型数据,而 ELSE 后面是 NUMBER 类型数据,数据类型不一致报错。 改成下面这样: SELECT CASE WHEN dummy = 'x' THEN '-' ELSE to_char(3) END FROM dual 1. 2. 3. 4. 5. 6....
在使用CASE WHEN时,一个需要注意的关键点是,THEN和ELSE后的值必须具有相同的类型。例如,如果试图将字符串'优'与数值0进行比较,由于类型不匹配,会引发错误,如Oracle错误提示[Err] ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBER。CASE WHEN的实用性主要体现在处理简单业务场景,如根据分...
1、decode简洁、case when复杂(但能实现的功能更多) 2、返回值类型,case when 的返回值类型必须一致如: SELECT CASE WHEN1=1THEN1ELSE'0'END FROM DUAL;--这样会报错:ORA-00932:数据类型不一致:应为NUMBER,但却获得CHAR 而decode的返回值类型需跟第一个返回值的类型一致(返回类型都依据第一个类型进行强制类型...
[Err] ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBER 简单CASE WHEN函数只能应对一些简单的业务场景,而CASE WHEN条件表达式的写法则更加灵活。 CASE WHEN条件表达式函数:类似JAVA中的IF ELSE语句。 格式: CASEWHENconditionTHENresult[WHEN...THEN...]ELSEresultEND condition是一个返回布尔类型的表达式,...
'man’和’男’数据类型不一致则报错: [Err] ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBER 2.DECODE decode的使用和case when一样 SELECT DECODE(CUST_TYPE ,'man','男','女') sex FROM CUST_INFO ; SELECT DECODE(CUST_TYPE ,'man','男','woman','女','什么鬼') sex ...
WHEN SCORE = 'C' THEN '中' ELSE '不及格' END THEN后边的值与ELSE后边的值类型应一致,否则会报错。如下: CASE SCORE WHEN 'A' THEN '优' ELSE 0 END '优'和0数据类型不一致则报错: [Err]ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBER...
WHEN SCORE = 'B' THEN '良'WHEN SCORE = 'C' THEN '中' ELSE '不及格' END THEN 后边的值与 ELSE 后边的值类型应一致,否则会报错。如下:CASE SCORE WHEN 'A' THEN '优' ELSE 0 END '优'和0数据类型不一致则报错:[Err] ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBE...
[Err] ORA-00932: 数据类型不⼀致: 应为 CHAR, 但却获得 NUMBER 简单CASE WHEN函数只能应对⼀些简单的业务场景,⽽CASE WHEN条件表达式的写法则更加灵活。CASE WHEN条件表达式函数:类似JAVA中的IF ELSE语句。格式:CASE WHEN condition THEN result [WHEN...THEN...]ELSE result END condition是⼀个返回...
[Err] ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBER 简单CASE WHEN函数只能应对一些简单的业务场景,而CASE WHEN条件表达式的写法则更加灵活。 CASE WHEN条件表达式函数:类似JAVA中的IF ELSE语句。 格式: 代码语言:javascript 复制 CASEWHENconditionTHENresult[WHEN...THEN...]ELSEresultEND ...
前几天,为了给产品分析当前用户数据结构,写sql的时候使用到了case when,今天来总结一下case when 的使用方法,以此为戒,感觉写的不好请拍砖,感觉写的还可以,给哥们点个赞,或者回复一下,让我意识到我不是一个人在战斗,好了废话不多说了,进入正题。