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

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

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


UYOU
浏览 1079回答 4
4回答

三国纷争

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

森林海

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

扬帆大鱼

我有同样的需求,并使用了这个:select     case         when left(column,1) = '0'         then right(column, (len(column)-1))         else column       end

收到一只叮咚

select substring(substring('B10000N0Z', patindex('%[0]%','B10000N0Z'), 20),     patindex('%[^0]%',substring('B10000N0Z', patindex('%[0]%','B10000N0Z'),     20)), 20)return N0Z,也就是说,将除去前导零和之前的任何零。
打开App,查看更多内容
随时随地看视频慕课网APP