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'