星期五, 5月 17, 2013

[SQL] CONCAT()

CONCAT() 為 SQL Server 2012 新函數。

功能:傳回串連兩個以上之字串值的結果字串。
語法:CONCAT ( string_value1, string_value2 [, string_valueN ] )
重點:
  1. 至少需要兩個輸入值
  2. 所有引數會以隱含式轉換為字串
  3. NULL 值會轉換為空字串
  4. 所有引數皆為 NULL 時,會回傳 varchar(1) 的空字串
  • 利用 AdventureWorks2012 的 [Person].[Person] 和 [HumanResources].[Employee] 來說明
SELECT  
  P.FirstName , 
  P.MiddleName ,    -- 資料內有 NULL
  P.LastName ,
  E.BirthDate ,     -- 資料型態為 date
  E.VacationHours , -- 資料型態為 smallint
  CONCAT(P.FirstName , P.MiddleName , P.LastName , E.BirthDate , E.VacationHours) AS Concat
FROM [Person].[Person] AS P
  JOIN [HumanResources].[Employee] AS E ON P.BusinessEntityID = E.BusinessEntityID
[SQL] CONCAT()-1
從上圖資料可以發現
  1. MiddleName 資料內有 NULL,NULL 值轉為空字串。
  2. BirthDate 資料型態為 date、VacationHours 資料型態為 smallint,經過隱藏式轉換變成字串。

沒有留言:

張貼留言