首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQL列中添加零

在SQL列中添加零
EN

Stack Overflow用户
提问于 2017-02-14 07:31:44
回答 3查看 543关注 0票数 3

如何将零添加到SQL列以匹配9位数字?我们有一个列名SystemID,它包含产品ID。我们的CRM系统自动删除零,但有时我们需要取出这些数字并粘贴到Excel中,它需要包含所有数字。就像这样:

代码语言:javascript
复制
ID1111111
ID111111
ID11111

如何在6位后添加零?

代码语言:javascript
复制
If ID111111 then ID1111011
If ID22222  then ID2222002
If ID3333   then ID3333000
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-14 08:19:41

你的描述并不完全清楚,但也许你要找的是:

代码语言:javascript
复制
DECLARE @Dummy TABLE(YourID VARCHAR(100));
INSERT INTO @Dummy VALUES('ID111111 '),('ID22222'),('ID3333')      

SELECT LEFT(STUFF(YourID + REPLICATE('0',9),7,0,REPLICATE('0',9-LEN(YourID))),9)
FROM @Dummy

结果

代码语言:javascript
复制
ID1111011
ID2222002
ID3333000

简短解释

首先,我添加了9个零,以确保原来的字符串在任何情况下都有9个数字。然后,我使用STUFF在第7位引入适当数量的零。最后一根线在9点被剪断。

票数 1
EN

Stack Overflow用户

发布于 2017-02-14 08:36:16

代码语言:javascript
复制
DECLARE @Test TABLE(YourID VARCHAR(100));
INSERT INTO @Test VALUES('ID111111'),('ID22222'),('ID3333'),('ID'),('ID1234567')

SELECT LEFT(YourID, 6) + REPLICATE('0', 9 - LEN(YourID)) + SUBSTRING(YourID, 7, LEN(YourID))

FROM @Test
票数 1
EN

Stack Overflow用户

发布于 2017-02-14 07:39:30

您可以使用填充和子字符串的组合来获得所需的输出:

代码语言:javascript
复制
SELECT LEFT(SUBSTRING(SystemID, 1, 6) + '000', 15 - LEN(SystemID)) +
           SUBSTRING(SystemID, 7, LEN(SystemID) AS SystemIDPadded
FROM yourTable
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42220262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档