使用case合并两个字段

本文介绍了一种在SQL中处理字段合并的方法,特别是当字段可能包含NULL或空字符串时。通过使用CASE WHEN语句进行条件判断,确保了即使部分字段为空也能正确地合并其他字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

select case when (len([name])=0 or [name] is null) and ([month] is not null or len([month])>0) then [month]
when (len([name])=0 or [name] is not null) and (len([month])=0 or [month] is null) then [name]
when (len([name])=0 or [name] is null) and ([month] is null or len([month])=0 ) then '0'
when (len([name])>0 and [name] is not null) and (len([month])>0 and [month] is not null) then [name]+';'+[month]
  end from custom

上面从custom表中获取姓名和月份。

如果我们不做判断,直接用[name]+';'+[month],若其中有一个字段为null,则合并后仍为null。

所以要做判断。另外,对只含空格数据的字段还需做判断,因为空格也应该被当做没有数据,但实际sql没当成null,所以只有is null 还不行。len([name])=0就表示只含空格。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值