CONCAT采用数量可变的字符串自变量并将它们连接到单个字符串。 它需要至少两个输入值;否则将引发错误。 所有参数都隐式转换为字符串类型,然后串联在一起。 Null 值被隐式转换为空字符串。 如果所有的自变量是 null,类型的空字符串varchar(1) 返回。 隐式转换为字符串的过程遵循现有的数据类型转换规则。
有的时候,我们有需要将由不同列获得的数据值串连在一起。每一种数据都有提供方法来达到这个目的:
MySQL: CONCAT( )
Oracle: CONCAT( ), ||
SQL Server: +
CONCAT( ) 的语法如下:
CONCAT (字串1, 字串2, 字串3, ...)
将字串1、字串2、字串3,等字串连在一起。请注意,Oracle 的 CONCAT( ) 只允许两个参数;换言之,一次只能将两个字串串连起来。不过,在Oracle中,我们可以用 '||' 来一次串连多个字串。
来看几个例子。假设我们有以下的表:
例子1
MySQL/Oracle:
SELECT CONCAT (Region_Name, Store_Name) FROM Geography WHERE Store_Name = 'Boston';
结果:
'EastBoston'
例子2
Oracle:
SELECT Region_Name || ' ' || Store_Name FROM Geography WHERE Store_Name = 'Boston';
结果:
'East Boston'
例子3
SQL Server:
SELECT Region_Name + ' ' + Store_Name FROM Geography WHERE Store_Name = 'Boston';
结果:
'East Boston'
mysql CONCAT(str1,str2,…)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)
感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程