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

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

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

UYOU 2019-09-21 15:52:22
我正在处理从SQLServer数据库读取以生成提取文件的SQL查询。从特定字段(最简单的VARCHAR(10)字段)中删除前导零的要求之一。因此,例如,如果该字段包含“ 00001A”,则SELECT语句需要将数据返回为“ 1A”。SQL中是否可以通过这种方式轻松删除前导零?我知道有一个RTRIM功能,但这似乎只能删除空格。
查看完整描述

4 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞


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


查看完整回答
反对 回复 2019-09-21
?
森林海

TA贡献2011条经验 获得超2个赞

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


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

TA贡献1799条经验 获得超9个赞

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


select 

    case 

        when left(column,1) = '0' 

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

        else column 

      end


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

TA贡献1821条经验 获得超4个赞

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

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

    20)), 20)

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


查看完整回答
反对 回复 2019-09-21
  • 4 回答
  • 0 关注
  • 1069 浏览
慕课专栏
更多

添加回答

举报

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