CONCAT

Version >= SQL Server 2012

返回一個字串,該字串是兩個或多個字串連線在一起的結果。CONCAT 接受兩個或多個引數。

SELECT CONCAT('This', ' is', ' my', ' string') -- returns 'This is my string'

注意:與使用字串連線運算子(+)連線字串不同,將空值傳遞給 concat 函式時,它會隱式將其轉換為空字串:

SELECT CONCAT('This', NULL, ' is', ' my', ' string'), -- returns 'This is my string'
       'This' + NULL + ' is' + ' my' + ' string' -- returns NULL.

非字串型別的引數也將隱式轉換為字串:

SELECT CONCAT('This', ' is my ', 3, 'rd string') -- returns 'This is my 3rd string'

非字串型別變數也將轉換為字串格式,無需手動轉換或將其轉換為字串:

DECLARE @Age INT=23;
SELECT CONCAT('Ram is ', @Age,' years old');  -- returns 'Ram is 23 years old'

Version < SQL Server 2012

舊版本不支援 CONCAT 功能,必須使用字串連線運算子(+)。必須轉換非字串型別或將其轉換為字串型別,以便以這種方式連線它們。

SELECT 'This is the number ' + CAST(42 AS VARCHAR(5)) --returns 'This is the number 42'