在C#中,如果我這樣做:類似的功能在C#中的String.Format
string code = string.format("C{0:000}", 7);
結果將是:C007
有沒有在SQL Server中的功能,做同樣的事情?或者我必須自己創建一個函數?
在C#中,如果我這樣做:類似的功能在C#中的String.Format
string code = string.format("C{0:000}", 7);
結果將是:C007
有沒有在SQL Server中的功能,做同樣的事情?或者我必須自己創建一個函數?
在直TSQL中,沒有什麼比C#string.format強大。 CONVERT()函數提供了一些有限的格式,但對於任何無法處理的內容,您都必須編寫自己的函數。谷歌「SQL字符串函數」來查看你的SQL庫中有哪些工具。
或者,首先不要在數據庫中執行此格式。 – 2014-10-02 20:24:01
SELECT 'C' + RIGHT('00' + CONVERT(varchar(3),7),3)
[請勿將其轉換爲不帶長度的varchar](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/09/bad-habits-to-kick-declaring-varchar-without-length.aspx )。 – 2014-10-02 20:32:53
使用FORMATMESSAGE()函數。
SELECT FORMATMESSAGE('This is the %s and this is the %s.', 'first variable', 'second variable') AS Result;
爲什麼不這樣做的C#方 – 2014-10-02 19:52:22
格式化如果你正在尋找一個精確的匹配,[CLR UDF(http://msdn.microsoft.com/en-us/library /w2kae45k%28v=vs.100%29.aspx)可能是要走的路。 – 2014-10-02 19:54:13
需要更新。不在SQL 2005中,但2014年的格式函數極其類似於C#。 – TomTom 2014-10-02 20:16:34