我正在处理从SQLServer数据库读取以生成提取文件的SQL查询。从特定字段(最简单的VARCHAR(10)字段)中删除前导零的要求之一。因此,例如,如果该字段包含“ 00001A”,则SELECT语句需要将数据返回为“ 1A”。SQL中是否可以通过这种方式轻松删除前导零?我知道有一个RTRIM功能,但这似乎只能删除空格。
4 回答
扬帆大鱼
TA贡献1799条经验 获得超9个赞
我有同样的需求,并使用了这个:
select
case
when left(column,1) = '0'
then right(column, (len(column)-1))
else column
end
收到一只叮咚
TA贡献1821条经验 获得超4个赞
select substring(substring('B10000N0Z', patindex('%[0]%','B10000N0Z'), 20),
patindex('%[^0]%',substring('B10000N0Z', patindex('%[0]%','B10000N0Z'),
20)), 20)
return N0Z,也就是说,将除去前导零和之前的任何零。
添加回答
举报
0/150
提交
取消