未测试
update tab AS A set A.text=(select replace(B.text,'1,','') as newtext from tab as B where A.id=B.id)
update tab AS A set A.text=(select replace(B.text,'1,','') as newtext from tab as B where A.id=B.id)
解决方案 »
- 链接服务器问题
- 求sql
- 如何在trigger里获取当前UPDATE的表的名称
- sql查询问题,急!!
- 各位大虾们,有一个SQL-Server的问题,在SQL-Server中创建不了一个目录……
- 在一台机器上的SQL数据库,两个一模一样的数据库,一个是另外一个的restore,但是访问速度相差大概三倍
- select 语句怎么给返回的结果集加编号1,2,3...
- 挑战!!如何动态识别主Form部份?
- 请问如何用vb+SQl Server(存储过程)实现记录分页??!!谢谢.
- 我已经第三次提问了,真的这么难么?
- 我的sqlserver2000怎么用windows身份验证连接不上啊?
- 关于默认值的问题
update TabName set text=replace(text,"1,","")
insert into tab select 3,'3,1,2,3,4,5'
insert into tab select 5,'8,2,6'
insert into tab select 6,'1,5,6,2,4'
insert into tab select 7,'7,3,6,8,1'
insert into tab select 8,'11,2,4,6'
update tab set test = left((stuff(replace(','+convert(varchar(100),test)+',',',1,',','),1,1,'')),len(convert(varchar(100),test))-2)
where charindex(',1,',','+convert(varchar(100),test)+',')>0select * from tabdrop table tab
的情况(就是1出现在末尾)吗?
难道不会出现只有1的情况吗?所以playwarcraft的方法基本差不多了
where charindex(',1,',','+convert(varchar(100),test)+',')>0这样写的语句,可读性很差。playwarcraft 方便大家加点注释嘛。
set test =
left(
(stuff(replace(','+convert(varchar(100),test)+',',',1,',','),1,1,'')) -- (1)把字符串test拼接成, 两边加逗号的, 即 " ,test,", (2)以逗号替换',1,' (3)填充第一个位置的逗号为空 (4) 用left再把整个字符串右边的逗号去掉
,
len(convert(varchar(100),test))-2 -- 最后取左边此长度的字符串, 长度为扣掉 1和一个逗号的长度.
)
where charindex(',1,',','+convert(varchar(100),test)+',')>0 -- 条件test里面含有'1'的 select * from tabdrop table tab///////////////////////////////////
写了一下注释希望能有所裨益~~~~