sql语句 将同一个表中的其中一个字段的一部分替换成这个表中的另一个字段

t_she_room这个表中的fnumber这个字段XXXXX-XXXXX-XXXXX 将第二个’ - ‘ 后面的’XXXX' 换成表中的‘froompropno’ 这个字段 请将语句写好能够直接执行 或者将需要替换的作下说明 小弟sql基础比较差

谢了

如果要替换的房号是固定格式以及长度,
如要替换的XXXXX左面长度为12(包括两个'-')
则语句如下:
update t_she_room set fnumber=left(fnumber,12)+ froompropno
如果要替换的XXXXX是固定长度如5位,也可以这样写
update t_she_room set fnumber=left(fnumber,len(fnumber) - 5) + froompropno
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-30
既然fnumber是固定长度,那就用SUBSTRING函数即可截取,SQL如下:
UPDATE t_she_room SET fnumber=SUBSTRING(Telephone,1,12)+froompropno

如果fnumber不是固定长度的情况下,可以用如下方法获取,SQL如下:
UPDATE t_she_room SET fnumber=left(fnumber,len(fnumber)-CHARINDEX('-',REVERSE(fnumber))+1)+froompropno
第2个回答  2013-12-30

是sql server吧?

update t_she_room set fnumber=
 left(fnumber,len(fnumber)-charindex('-',reverse(fnumber))+1)+froompropno

这样可以把最后一个'-'之后的部分替换成froompropno

相似回答