You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL CASE语句中NULL值替换及原值显示异常问题求助

解决你的SQL CASE语句显示异常问题

嘿,这个小问题其实是引号用错导致的!你现在的写法里,把 ELSE 后面的字段名 table_1.col_1 用单引号括起来了,数据库会把它当成字符串常量来处理,所以不管原字段是什么值,都会显示成字符串 table_1.col_1。

正确的写法应该是这样:

CASE 
    WHEN table_1.col_1 IS NULL THEN 'NULL' 
    ELSE table_1.col_1 
END AS col_1

或者如果你的数据库允许(比如PostgreSQL、MySQL等),别名也可以用双引号括起来(避免和关键字冲突):

CASE 
    WHEN table_1.col_1 IS NULL THEN 'NULL' 
    ELSE table_1.col_1 
END AS "col_1"

关键点说明:

  • 单引号' '是用来包裹字符串常量的,比如你要显示的'NULL';
  • 字段名不需要用单引号包裹,直接写table_1.col_1就会引用表中对应的字段值;
  • 别名如果是普通的字段名(没有空格或关键字),可以不用引号,用的话推荐双引号更规范。

这样修改后,当col_1为NULL时会显示字符串'NULL',非NULL时就会正常显示字段的原始TEXT值啦~

内容的提问来源于stack exchange,提问作者Zee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 16:17:46