如何去掉开头的0

intellectual100 2007-05-29 03:11:17
co1
000000123
000145
01
00000048
0001556
.....
后面还有很多记录,如何去掉开头的所有的0
结果
co1
123
145
1
48
1556
...全文
198 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
intellectual100 2007-05-29
  • 打赏
  • 举报
回复
学习
simplewho 2007-05-29
  • 打赏
  • 举报
回复
SELECT CONVERT(VARCHAR(20),CONVERT(DECIMAL,COL1)) FROM 表
--这把字符转成数字再转回字符
SmallBoyz 2007-05-29
  • 打赏
  • 举报
回复
如果可以保证你的COL里全都是数字型的字符.也就是只有0~9.可以这样
SELECT CONVERT(INT,col) from 表名
simplewho 2007-05-29
  • 打赏
  • 举报
回复
SELECT CONVERT(DECIMAL,COL1) FROM 表
intellectual100 2007-05-29
  • 打赏
  • 举报
回复
如果当中有0,会不会replace?
我想避免
chuifengde 2007-05-29
  • 打赏
  • 举报
回复
:)看你数据用上面的实现
chuifengde 2007-05-29
  • 打赏
  • 举报
回复
select replace(col,'0','') from [Table]
intellectual100 2007-05-29
  • 打赏
  • 举报
回复
多谢!
那位大侠能搞个函数,让俺再学习学习。
Yang_ 2007-05-29
  • 打赏
  • 举报
回复
declare @t table (col varchar(20))

insert @t select
'000000123'
union all select
'000145'
union all select
'01'
union all select
'00000048'
union all select
'0001556'
union all select --加条不以0开头的
'124'

select stuff(col,1,PATINDEX ( '%[^0]%' , col )-1 ,'') as col
from @t

--结果
col
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
123
145
1
48
1556
124

(所影响的行数为 6 行)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧