当前位置:  开发笔记 > 数据库 > 正文

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

如何解决《从SQL语句中的字段中删除前导零》经验,为你挑选了2个好方法。

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

SQL中有没有办法以这种方式轻松删除前导零?我知道有一个RTRIM功能,但这似乎只是删除空格.



1> Ian Horwill..:
select substring(ColumnName, patindex('%[^0]%',ColumnName), 10)


当字符串完全由"0"组成时,这将有问题,因为它永远不会匹配非"0"字符.

2> 小智..:
select replace(ltrim(replace(ColumnName,'0',' ')),' ','0')


如果值中有空格,则会失败.示例:"0001 B"应变为"1 B",但将变为"10B".
推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有