日期:2014-05-19  浏览次数:20674 次

数据库更新问题
现在数据库更新,需要将原来的电话号码前加8,比如原来电话是1234567,现在需要改为81234567,请问应该怎么写SQL语句啊!谢谢啦,在线等!

------解决方案--------------------
update table1 set phone= '8 '+ltrim(rtrim(phone));

------解决方案--------------------
Update TableName Set ColName = '8 ' + ColName
------解决方案--------------------
update t1 set phone=cast( '8 '+cast(phone as varchar) as int)
------解决方案--------------------
Create Table TEST
(ID Varchar(10))
Insert TEST Select '1234567 '
Union All Select '7654321 '
GO
Update TEST Set ID = '8 ' + ID

Select * From TEST
GO
Drop Table TEST
--Result
/*
81234567
87654321
*/
------解决方案--------------------
update table1 set ColName= '8 '+ltrim(ColName)
------解决方案--------------------
Update TableName Set Tel=Replace(Tel,Tel, '8 '+Convert(nvarchar,Tel))
------解决方案--------------------
sdsnow(snow) ( ) 信誉:100 Blog 2007-03-27 09:27:32 得分: 0


谢谢!各位前辈,现在发现每一个电话号码前都有一个 "_ ",如:_1234567,需要改成81234567,应该怎么改啊?



----------------------
Update
TableName
Set
ColName = '8 ' + Stuff(ColName, 1, 1, ' ')
Where Left(ColName, 1) = '_ '
------解决方案--------------------
update table1 set phone=replace(phone, '_ ', '8 ')
where phone like '_% '
and phone not like '8% '
------解决方案--------------------
update t1 set phone=replace(phone, '_ ', ' ');
------解决方案--------------------
现在发现每一个电话号码前都有一个 "_ ",如:_1234567,需要改成81234567,应该怎么改啊?
----------------
update t1 set phone=replace(phone, '_ ', ' ');
------解决方案--------------------
如果_只會出現在第一個字符的話,可以用replace。
------解决方案--------------------
into_the_sky(行云流水) ( ) 信誉:98 Blog 2007-03-27 09:34:53 得分: 0


update table1 set phone=replace(phone, '_ ', '8 ')
where phone like '_% '
and phone not like '8% '


-----
後面一個條件有點多余,不可能同時滿足兩個條件的。


sdhylj(青锋-SS) ( ) 信誉:100 Blog 2007-03-27 09:37:52 得分: 0


update t1 set phone=replace(phone, '_ ', ' ');


------
你怎麼替換為空了? :)
------解决方案--------------------
sdhylj(青锋-SS) ( ) 信誉:100 Blog 2007-03-27 09:37:52 得分: 0


update t1 set phone=replace(phone, '_ ', ' ');


------
你怎麼替換為空了? :)
================================
估計是搶分太急了,呵呵`~~~
------解决方案--------------------
update t1 set phone=right(rtrim(phone),8) where len(rtrim(phone))> 8;
------解决方案--------------------
sdsnow(snow) ( ) 信誉:100 Blog 2007-03-27 10:01:06 得分: 0


谢谢大家,还有一个情况是要修改字符数超过8个得记录,因为有的号码是乱填的,比如_1234567 13025364 要只保留8位,应该怎么改啊!谢谢大家了!