T-SQL填充带有前导字符的nvarchar数字和9字符格式A00000012的零

时间:2017-04-20 16:06:41

标签: sql

如何用前导零填充nvarchar个数字,第一个字符是alpha。我必须将id连接到一些前导字符以插入一些记录。列类型为nvarchar 9。 sql server 2008r

A000000012
A000002212
A002322212

5 个答案:

答案 0 :(得分:2)

如果2012年以上,您可以使用格式()

Select 'A'+format(12,'000000000')

返回

A000000012

答案 1 :(得分:0)

您需要填充的静态部分是什么?如果是String s = ref.getValue(),那么:

A00

答案 2 :(得分:0)

在Oracle中

select substr('A123',1,1) || substr('00000000',8-length('A123')) || substr('A123',2)  from dual

答案 3 :(得分:0)

使用一些旧学校左边填充T-SQL:

select Id, 'A'+RIGHT(CONCAT(REPLICATE('0',8),Id),8) as PaddedId
from YourTable;

答案 4 :(得分:0)

-- Sample data
DECLARE @yourtable TABLE(somenumber int);
INSERT @yourtable VALUES (12), (2212), (2322212);

-- Solution 2012+
SELECT NewValue = CONCAT('A', REPLICATE('0', 9-LEN(somenumber)), somenumber)
FROM @yourtable;

-- Pre-SQL 2012
SELECT NewValue = 'A'+REPLICATE('0', 9-LEN(somenumber))+CAST(somenumber AS nvarchar(9))
FROM @yourtable;

返回:

NewValue   
-----------
A000000012 
A000002212 
A002322212