在SQL中指定删除数据
来源:百度知道 编辑:UC知道 时间:2024/05/29 05:11:01
在SQL Server数据库中 比如存有一万条数据
3705210010010001
3705210010010002
3705210010010003
3705210010010004
3705210010010005
3705210010010006
3705210010010007
3705210010010008
3705210010010009
……………………
现在需要把370521【0】01【0】010001 黑括号中的0删除
也就是将这一万条数据中 左边起第七位以及第十位的0删除
该如何操作?
3705210010010001
3705210010010002
3705210010010003
3705210010010004
3705210010010005
3705210010010006
3705210010010007
3705210010010008
3705210010010009
……………………
现在需要把370521【0】01【0】010001 黑括号中的0删除
也就是将这一万条数据中 左边起第七位以及第十位的0删除
该如何操作?
那种SQL ? MS 的 TSQL?
试试 UPDATE x SET yy = substr(yy,1,6)+substr(yy,8,2)+substr(yy,11,6)
如果不行要写程式做。
我也想知道是否有好办法,
我能想到的就是一个个替换了,
那位高手出来解决一下呀!
declare @i int
declare @s char
set @i=1
with AAA as
(select rowid=row_number() over(order by 这些数据对应的栏位 ),* from 表 )
for @i=1 to 10000
begin
select @s=栏位 from AAA where rowid=@i
update AAA
set 栏位=substring(@S,0,6)+substring(@S,7,2)+substring(@S,9,6)
where rowid=@i
end
你试下,看行不行,我也是新手
substr 0 6
substr 7 8
substr 10 16
然后再连接
sql server 的stuff函数很好用。
--首先将第十位的替换为''
update 表
set 字段=stuff(字段,10,1,'')
--再将第七位的替换为''
update 表
set 字段=stuff(字段,7,1,'')