使用case合并两个字段

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就表示只含空格。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值