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

如何移除字段前两个零?SQL SUBSTRING函数使用异常求助

问题解决方法

你写的SQL里len(4)是错误用法——LEN函数是计算字符串长度,这里数字4会被转成字符串'4',所以len(4)返回1,导致SUBSTRING从第3位开始只取1个字符,自然得到单个'0'。

要获取字段最右侧4位,有两种简单的修正方式:

方式1:修正SUBSTRING的长度参数

直接把长度写为4,不用LEN函数:

SELECT SUBSTRING(LOGRECNO, 3, 4)
FROM [dbo].[DECENNIAL2010]
WHERE LOGRECNO LIKE '000%'

方式2:用RIGHT函数更直观

RIGHT函数可以直接提取字符串右侧指定长度的内容,更适合这种固定长度字段的场景:

SELECT RIGHT(LOGRECNO, 4)
FROM [dbo].[DECENNIAL2010]
WHERE LOGRECNO LIKE '000%'

因为你的字段是固定6位字符,RIGHT取4位刚好就是去掉左侧两位后的结果,不管左侧是不是0,都能得到正确的右侧4位内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 23:10:53