You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写SQL查询仅移除字段首字符的0(值均为3位长度)

修正后的SQL查询方案:仅跳过首字符的0展示3位数字字段

由于你的字段都是固定3位长度,不需要用复杂的PATINDEX逻辑,直接针对首字符判断即可,以下是两种可行的修正方案:

方案一:使用CASE条件判断

SELECT 
    CASE 
        WHEN LEFT(numbers, 1) = '0' THEN SUBSTRING(numbers, 2, 2)
        ELSE numbers
    END AS numbers
FROM your_table;

逻辑说明:

  • LEFT(numbers, 1) = '0' 检查字段的首字符是否为0
  • 满足条件时,用SUBSTRING(numbers, 2, 2)截取从第2位开始的2个字符(刚好是原3位数字去掉首0后的部分)
  • 不满足条件时,直接返回原字段值

方案二:使用STUFF函数简化写法

SELECT 
    CASE 
        WHEN LEFT(numbers, 1) = '0' THEN STUFF(numbers, 1, 1, '')
        ELSE numbers
    END AS numbers
FROM your_table;

逻辑说明:

  • STUFF(numbers, 1, 1, '') 作用是从第1位开始,删除1个字符(即首0),替换为空字符串
  • 同样通过CASE判断仅在首字符为0时执行替换操作

两种方案都能完美匹配你的需求,测试示例数据后输出结果如下:

numbers
123
23
03
102

内容的提问来源于stack exchange,提问作者Goffer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 22:01:02