2017-03-17 61 views
0

我想将customerId格式化为这样的“TUH000000”,我的SQL已经吐出了1,2,3等的int。所以如果客户ID是1,我希望它打印TUH000001等等等等。带有前导字符的SQL格式

这是我的代码,以便吐出我需要的所有东西,减去格式。有任何想法吗?

SELECT r.CustomerID,r.Year AS [Year],r.UnpaidBalance AS [UnpaidBalance],ci.FName AS [FName], ci.LBName AS [LBName],ci.IdType AS [IdType],ci.Id AS [Id],ci.OwnerId AS OwnerId, a.Line1 AS [Address1], a.Line2 AS [Address2], a.City AS [City], a.StateId AS [State], a.Zip AS [Zip] 
FROM #ThisReport r 
LEFT JOIN #CustomerInfo ci ON r.CustomerID = ci.CustomerId 
LEFT JOIN Address a ON ci.mAddID = a.AddressId 
ORDER BY CAST(r.CustomerID as int) ASC; 
+0

请用你正在使用的数据库标记你的问题。 –

回答

0

您的代码看起来像SQL Server。一种方法是:

select prefix + right(replicate('0', 6) + cast(x as varchar(255)), 6) 

我不确定要组合哪列。 Pehaps:

select 'TUH' + right(replicate('0', 6) + cast(CustomerId as varchar(255)), 6) 
+0

谢谢,这正是我需要的!我很接近,但我一直试图把'TUH'作为0的字符串。这很奇怪。感谢推! – BlowFish