为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】: 【操作系统】: 【CPU】: 【问题描述】*: SELECT CASE WHEN INSTR('1100',',')>0 THEN LEFT('1100',INSTR('1100',',')-1) ELSE '1100' END AS str
当列STR值不含逗号时,应该走else,为什么会走THEN报非法参数
看下没问题,可以提供下当前环境信息一下
SQL> SELECT CASE WHEN INSTR('1100',',')>0 THEN LEFT('1100,',INSTR('1100',',')-1) ELSE '1100' END AS str; 行号 STR ---------- ---- 1 1100 已用时间: 1.061(毫秒). 执行号:802. SQL>
有可能没走THEN,只是你THEN里边的参数非法,可以把THEN后边-1改成+1试试。
看下没问题,可以提供下当前环境信息一下
SQL> SELECT CASE WHEN INSTR('1100',',')>0 THEN LEFT('1100,',INSTR('1100',',')-1) ELSE '1100' END AS str; 行号 STR ---------- ---- 1 1100 已用时间: 1.061(毫秒). 执行号:802. SQL>