在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删除
该如何操作?

那种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,'')