第三十章 SQL函数 CONCAT
标量字符串函数,它返回作为连接两个字符表达式的结果的字符串。
大纲
{fn CONCAT(string-expression1,string-expression2)}
参数
-
string-expression1
,string-expression2
- 要连接的字符串表达式。表达式可以是列名、字符串文字、数字或另一个标量函数的结果,其中底层数据类型可以表示为任何字符类型(如CHAR
或VARCHAR
)。
描述
连接两个字符串以返回连接的字符串。可以使用连接运算符(||
)执行完全相同的操作。
可以连接数字或数字字符串的任意组合;连接结果是一个数字字符串。SQL在连接之前将数字转换为规范形式(指数被扩展,前导零和尾随零被删除)。在连接之前,数字字符串不会转换为规范形式。
可以将前导空格或尾随空格连接到字符串。将空值连接到字符串会产生空值;这是行业范围内的SQL标准。
字符串函数还可用于将两个或多个表达式连接成单个字符串。
示例
以下示例连接Home_State
和Home_City
列以创建位置值。使用CONCAT
函数和concatenate
运算符显示两次连接:
SELECT {fn CONCAT(Home_State,Home_City)} AS LocationFunc,
Home_State||Home_City AS LocationOp
FROM Sample.Person
image.png
以下示例显示尝试连接字符串和空值时发生的情况:
SELECT {fn CONCAT(Home_State,NULL)} AS StrNull
FROM Sample.Person
下面的示例显示数字在连接之前转换为规范形式。要避免这种情况,可以将数字指定为字符串,如下所示:
SELECT {fn CONCAT(Home_State,0012.00E2)} AS StrNum,
{fn CONCAT(Home_State,'0012.00E2')} AS StrStrNum
FROM Sample.Person
image.png
以下示例显示将保留尾随空格:
SELECT CHAR_LENGTH({fn CONCAT(Home_State,' ')}) AS StrSpace
FROM Sample.Person
image.png
网友评论