sql 字段内容累加
在修改一条数据时,如果数据内已存在,则不管 否则累加例如:表T:id name1 aa,bb2 cc3 4 aa我在修改这个表的数据时,如果name里已存在“aa”,则不管,否则修改,修改后的数据如下id name1 aa,bb2 cc,aa3 aa4 aa
if not exists (select 1 from tableName where charIndex('aa',name)>0) update tableName set name=name+',aa'-类似的写,今晚酒喝多了,忘记函数与名字了
[解决办法]
update tableName set
name=case when isnull(name,'')='' then 'aa' else name+',aa' end
where name not like '%aa%'
[解决办法]
;with c1 as
(
select 1 'id', 'aa,bb' 'name' union all
select 2, 'cc' union all
select 3, '' union all
select 4, 'aa'
) --测试数据
select id,
CASE WHEN LTRIM(name) = '' THEN 'aa' --当name为空字符串的处理
WHEN CHARINDEX('aa', name) <> 0 THEN name
ELSE name + ',aa' END 'name' --将',aa'追加到字段后面
from c1
id name
----------- --------
1 aa,bb
2 cc,aa
3 aa
4 aa
(4 row(s) affected)