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'