如何将零添加到SQL列以匹配9位数字?我们有一个列名SystemID,它包含产品ID。我们的CRM系统自动删除零,但有时我们需要取出这些数字并粘贴到Excel中,它需要包含所有数字。就像这样:
ID1111111
ID111111
ID11111如何在6位后添加零?
If ID111111 then ID1111011
If ID22222 then ID2222002
If ID3333 then ID3333000发布于 2017-02-14 08:19:41
你的描述并不完全清楚,但也许你要找的是:
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结果
ID1111011
ID2222002
ID3333000简短解释
首先,我添加了9个零,以确保原来的字符串在任何情况下都有9个数字。然后,我使用STUFF在第7位引入适当数量的零。最后一根线在9点被剪断。
发布于 2017-02-14 08:36:16
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发布于 2017-02-14 07:39:30
您可以使用填充和子字符串的组合来获得所需的输出:
SELECT LEFT(SUBSTRING(SystemID, 1, 6) + '000', 15 - LEN(SystemID)) +
SUBSTRING(SystemID, 7, LEN(SystemID) AS SystemIDPadded
FROM yourTablehttps://stackoverflow.com/questions/42220262
复制相似问题