注册 登录
编程论坛 SQL Server论坛

关于在同一表中将几个字段的值进行拼接

hst_hh 发布于 2012-06-17 08:01, 1254 次点击
我是刚刚入门的菜鸟,在excel中我知道有CONCATENATE(A3,B3,"生活")这样的函数,可以将不同列的内容进行字符拼接,我想问问在SQL中如何将几列的内容拼接在一起,并写到另一列中。
5 回复
#2
netlin2012-06-17 13:25
在SQL中,字符串的拼接,使用的运算符是:“+”
如果要拼接的字段类型不是字符串,可以先用cast()函数进行转换,然后再拼接。
把拼接的结果写入另一列中,可以使用update命令。

update <表> set <存放拼接结果的列名称>=<字符串列1>+<字符串列2>+cast(<非字符串列3> as nvarchar(2000))+...
    where <筛选条件>

#3
shangxisen2012-06-18 11:56
二楼的方法不错
#4
csxuedn2012-06-18 22:55
楼主可以试一下,二楼的方法应该不对,因为=后边的值并不唯一!
楼主参考:

select column1 as a , column2 as b ,column1+column2 as c into new_table from old_table

--选择列column1,column2,和新组合的列column1+column2放在一张新表new_table中……
若需要数据类型转换可以使用:cast()函数

[ 本帖最后由 csxuedn 于 2012-6-18 23:03 编辑 ]
#5
hst_hh2012-06-19 09:05
谢谢,我做下试验!
#6
hst_hh2012-06-19 10:02
谢谢大家,我用二楼的方法是正确的!
1