当前位置: 代码迷 >> ASP.NET >> 多个字段合并成一个字段,该怎么解决
  详细解决方案

多个字段合并成一个字段,该怎么解决

热度:8545   发布时间:2013-02-25 00:00:00.0
多个字段合并成一个字段
我处理老数据库的数据时遇到如下问题:有多个字段,需要将它们合并成一个字段,以顿号分开,sql语句如下:update 表 set 合并后新字段=isnull(字段1,'')+'、'+ isnull(字段2,'')+'、'+(.......)
但如果有字段空值时遇到如下问题:新合并的字段的值会遇到 (1)如果字段1为空是会出现以顿号开头的值  、字段2,(2)如果相连的字段出现空值,会出现多个顿号、、、,怎么解决这个问题。谢谢

------解决方案--------------------------------------------------------
如果是sql 2005以上,可以用正则过滤下。
------解决方案--------------------------------------------------------
换种方法吧,给你写一个我能想到的,不知道有没有更简单的
SQL code
DECLARE @newdata NVARCHAR(MAX)SELECT @newdata =(''    + CASE WHEN [字段1] IS NOT NULL THEN [字段1]+'、' ELSE '' END    + CASE WHEN [字段2] IS NOT NULL THEN [字段2]+'、' ELSE '' END    + ...)FROM [表名]UPDATE [表名] SET [新字段] = LEFT(@newdata,LEN(@newdata)-1)
------解决方案--------------------------------------------------------
case when
  相关解决方案