数据库更新问题
现在数据库更新,需要将原来的电话号码前加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位,应该怎么改啊!谢谢大家了!