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

如何写这样的更新语句?

summoner 发布于 2007-04-26 10:06, 797 次点击
有一字段,目前数据库存的值如下
KXX-0000-1
KXX-0000-11
KXX-0000-111
KXX-0000-1111
KXX-0000-11111
KXX-0000-111111
.
.
.
想将数据更新成如下
KXX-0000-000001
KXX-0000-000011
KXX-0000-000111
KXX-0000-001111
KXX-0000-011111
KXX-0000-111111
.
.
.
即让后面是六位的整齐形式,这条更新语句应该怎么写?
5 回复
#2
棉花糖ONE2007-04-26 10:19
oracle中大概的思路就是这样了
'KXX-0000-'+lpad(substring(column,10,6),6,0)
#3
summoner2007-04-26 10:34
谢了
#4
关小彤2007-04-26 15:46
在mssql中怎么写呢?
#5
棉花糖ONE2007-04-26 15:55

mssql就参考一下replicate

#6
mingwangxing2007-05-26 01:36

update 表名 set 字段名 = 'KXX-0000-' + left('00000',(15-len(字段名)))+right(字段名,len(字段名)-9)
含义:
1.首先最前面肯定是'KXX-000-'
2.取出字段长度,最长15,最短10,通过15-len(字段名)知道应该补几位'0'
3.因为KXX-000-为9个字符,所以字串全长-'KXX-000-'就知道后面有几个1了
4.将它们连接即可。

1