SQL Server中类似于c#中字符串格式的函数
本文关键字:格式 字符串 函数 Server 类似于 SQL | 更新日期: 2023-09-27 18:25:20
在C#中,如果我这样做:
string code = string.format("C{0:000}", 7);
结果将是:C007
SQL Server中是否有执行相同操作的函数?还是我必须自己创建一个函数?
使用FORMATMESSAGE()函数。
SELECT FORMATMESSAGE('This is the %s and this is the %s.', 'first variable', 'second variable') AS Result;
https://msdn.microsoft.com/en-us/library/ms186788.aspx
在直接TSQL中,没有什么比C#字符串格式更强大了。CONVERT()函数提供了一些有限的格式,但对于它无法处理的任何内容,您必须编写自己的函数。谷歌"SQL字符串函数",看看你的SQL库中有什么工具。
我会使用REPLICATE和RIGHT
'C' + RIGHT(REPLICATE('0', <Padding Amount Here>) + CAST(7 AS NVARCHAR(10)), <Padding Amount Here>)
用法:
'C' + RIGHT(REPLICATE('0', 10) + CAST(7 AS NVARCHAR(10)), 10)
生成以下内容:
C0000000007
SELECT 'C' + RIGHT('00' + CONVERT(varchar(3),7),3)