如何用前导零填充nvarchar
个数字,第一个字符是alpha。我必须将id
连接到一些前导字符以插入一些记录。列类型为nvarchar 9
。 sql server 2008r
A000000012
A000002212
A002322212
答案 0 :(得分:2)
如果2012年以上,您可以使用格式()
Select 'A'+format(12,'000000000')
返回
A000000012
答案 1 :(得分:0)
您需要填充的静态部分是什么?如果是String s = ref.getValue()
,那么:
A00
答案 2 :(得分:0)
:
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