本文將介紹 SQL Server 2012 T-SQL 新的字串字串函數。
這一篇筆者繼續介紹 T-SQL 的新功能,今天談到的是新的字串函數,在 SQL Server 2012 中您可以利用 CONCAT 函數來組合兩個以上的字串,例如下列的程式碼:
1: DECLARE @t TABLE (c1 varchar(50),c2 varchar(50),c3 nvarchar(50))
2: INSERT INTO @t
3: SELECT 'SQL ','Server 2012 ',N'中文版' UNION ALL
4: SELECT 'SQL ','Server 2012 ',N'English Edition'
5:
6: SELECT *,CONCAT(c1,c2,c3)
7: FROM @t
【執行結果】
使用 CONCAT 函數若要組合的字串當中有 NULL,則會轉換成空白,若所有要組合的字串都是 NULL,則回傳 varchar(1) 的空白字串。
1: DECLARE @t TABLE (c1 varchar(50),c2 varchar(50),c3 nvarchar(50))
2:
3: INSERT INTO @t
4: SELECT 'SQL ','Server 2012 ',N'中文版' UNION ALL
5: SELECT 'SQL ','Server 2012 ',N'English Edition' UNION ALL
6: SELECT 'SQL -',null, N'- Server 2012 簡體版'--故意在NULL欄位前後加入-來檢視CONCAT遇到NULL的處理結果
7:
8: SELECT *,CONCAT(c1,c2,c3)
9: FROM @t
【執行結果】
另外,您也可以利用 FORMAT 函數來做資料的格式化,這和 .Net 應用程式類似,有開發過 .NET 應用程式的開發人員應該很熟悉。
1: --將整數格式化為貨幣型態
2: SELECT FORMAT(123,'c','zh-TW')
3: SELECT FORMAT(123,'c','zh-CN')
4: SELECT FORMAT(123,'c')
5:
6: --將日期格式化為自訂格式
7: SELECT GETDATE()
8: ,FORMAT(GETDATE(),'yyyy/MM/dd','en-US')
9: ,FORMAT(GETDATE(),'yyyyMMdd')
10: ,FORMAT(GETDATE(),'MM/dd/yyyy')
11:
【執行結果】
【參考資料】