为了账号安全,请及时绑定邮箱和手机立即绑定

从SQL语句中的字段中删除前导零

/ 猿问

从SQL语句中的字段中删除前导零

UYOU 2019-09-21 15:52:22

我正在处理从SQLServer数据库读取以生成提取文件的SQL查询。从特定字段(最简单的VARCHAR(10)字段)中删除前导零的要求之一。因此,例如,如果该字段包含“ 00001A”,则SELECT语句需要将数据返回为“ 1A”。

SQL中是否可以通过这种方式轻松删除前导零?我知道有一个RTRIM功能,但这似乎只能删除空格。


查看完整描述

4 回答

?
三国纷争


select substring(ColumnName, patindex('%[^0]%',ColumnName), 10)


查看完整回答
反对 回复 2019-09-21
?
慕粉4167745

select replace(ltrim(replace(ColumnName,'0',' ')),' ','0')


查看完整回答
反对 回复 2019-09-21
?
扬帆大鱼

我有同样的需求,并使用了这个:


select 

    case 

        when left(column,1) = '0' 

        then right(column, (len(column)-1)) 

        else column 

      end


查看完整回答
反对 回复 2019-09-21
?
收到一只叮咚

select substring(substring('B10000N0Z', patindex('%[0]%','B10000N0Z'), 20), 

    patindex('%[^0]%',substring('B10000N0Z', patindex('%[0]%','B10000N0Z'), 

    20)), 20)

return N0Z,也就是说,将除去前导零和之前的任何零。


查看完整回答
反对 回复 2019-09-21

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信