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

[求助]怎样为某个表的号码字段前面的0去掉??

lingchen 发布于 2007-08-04 20:56, 3352 次点击
我在数据库里面的一张表里面有一个字段名为'号码'的字段,是存放手机号码的,可是这手机号码前面都有一个0的,如果我想把这一个列里面的所有手机号码前面的0全部去掉,这个语句怎样去写呢?本人刚学SQL,不懂多少,还请各位指教,谢谢!
7 回复
#2
lzalibabalr2007-08-05 01:05
UPDATE 表 SET 号码 =CAST( CAST(号码 AS INT) AS CHAR(15))
#3
lingchen2007-08-08 11:13
谢谢楼上的回答,可是我操作了一下,有错啊,提示是这样的:"服务器: 消息 248,级别 16,状态 1,行 1
varchar 值 '013534203062' 的转换溢出了 int 列。超出了最大整数值。"
语句已终止。
#4
Kendy1234562007-08-08 11:58

溢出了 把int换成bigint. 你如果手机号码位数都一样 肯定都多个0
那么也可以用

UPDATE 表 SET 号码 =right(号码,len(号码)-1)

#5
lingchen2007-08-08 13:08
谢谢兄弟啦!
#6
西风独自凉2007-08-08 14:17
update 表 set  表.号码=substring(表.号码,2)
#7
小糊涂仙2007-08-08 21:35



update 表X
set 号码=stuff(号码,1,1,'')

OK吗?这样?

#8
西风独自凉2007-08-09 08:38
不是哦....substring中间截取...
从第二个开始到最后一个就可以了
1