文章
姚 鑫 · 一月 21 阅读大约需 2 分钟

第三十章 SQL函数 CONCAT

第三十章 SQL函数 CONCAT

标量字符串函数,它返回作为连接两个字符表达式的结果的字符串。

大纲

{fn CONCAT(string-expression1,string-expression2)}

参数

  • string-expression1, string-expression2 - 要连接的字符串表达式。表达式可以是列名、字符串文字、数字或另一个标量函数的结果,其中底层数据类型可以表示为任何字符类型(如CHARVARCHAR)。

描述

连接两个字符串以返回连接的字符串。可以使用连接运算符(||)执行完全相同的操作。

可以连接数字或数字字符串的任意组合;连接结果是一个数字字符串。SQL在连接之前将数字转换为规范形式(指数被扩展,前导零和尾随零被删除)。在连接之前,数字字符串不会转换为规范形式。

可以将前导空格或尾随空格连接到字符串。将空值连接到字符串会产生空值;这是行业范围内的SQL标准。

字符串函数还可用于将两个或多个表达式连接成单个字符串。

示例

以下示例连接Home_StateHome_City列以创建位置值。使用CONCAT函数和concatenate运算符显示两次连接:

SELECT {fn CONCAT(Home_State,Home_City)} AS LocationFunc,
Home_State||Home_City AS LocationOp
FROM Sample.Person

以下示例显示尝试连接字符串和空值时发生的情况:

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

以下示例显示将保留尾随空格:

SELECT CHAR_LENGTH({fn CONCAT(Home_State,'          ')}) AS StrSpace
FROM Sample.Person
0
0 11
讨论 (0)1
登录或注册以继续