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

一个 update的数据库更新问题

qq2015 发布于 2007-08-31 14:52, 1068 次点击

求教, 如果我想把一个表表名为A 中的字段是 姓

名 的姓李的名字 改为姓 王的名字, 这个sql语句

怎么写啊 update A set 姓名 = where 姓名

like '李%'(set 后面怎么写啊 ) 在线等待 请师

傅们指点一下
在interbase中 执行下面的语句是错误,为什么啊?

update A set 姓名 =replace(姓名,'李','王')

where 姓名 like '李%'

8 回复
#2
purana2007-08-31 17:06
update tt
set name=concat('王',substr(name,2))
where name like '李%'


原理是获取姓名列的第二个字符后的字符串.再其前面连接上王字.
该语句在mysql5.0上执行成功.sql server没有试过.不过应该可以.好像函数是substring
#3
西风独自凉2007-08-31 17:30

update A set name='王'+ substring(name,2,len(name)) where left(name,1)='李'

[此贴子已经被作者于2007-9-10 19:58:41编辑过]

#4
thllilac2007-09-10 13:45
3楼的方法就OK啊
#5
hushimiao2007-09-10 19:47
頂3樓。。。
#6
wleigh2007-10-09 16:36
3楼的那条语句中“substring(name,2,len(name))”,哪位好心人帮忙解释一下,
小弟刚接触SQL,不理解这段
#7
西风独自凉2007-10-09 19:22

中间截取..相当于VB中的MID
name 相當於要截的字符。。。2是從第幾個開始截,最後一個參數是截到哪一個位置為止

#8
wleigh2007-10-10 09:13

谢谢!

#9
qazwsx1234562007-10-10 11:44

3楼!

1