CONCAT(string A/col, string B/col…):
返回输入字符串连接后的结果,支持任意个输入字符串。
concat 函数参数有一个为NULL 返回 NULL
CONCAT only takes primitive arguments:
concat 只接受原始参数
CONCAT_WS(separator, str1, str2,…):
它是一个特殊形式的 CONCAT()。第一个参数剩余参数间的分隔符。
分隔符可以是与剩余参数一样的字符串。
如果分隔符是 NULL,返回值也将为 NULL。
这个函数会跳过分隔符参数后的 任何 NULL 和 空字符串 。
分隔符将被加到被连接的字符串之间,
如果都会为NULL 什么也不返回。
Argument of function CONCAT_WS must be “string or array<string>”:
concat_ws的参数必须是“string或array<string>”
他俩返回的都是string类型
concat 接收的参数 原始类型 都会隐式的把类型转换为 string类型 这也是为什么它返回的
是string类型 也验证它参数内,没必要使用cast()方法,
concat(可以放入任何返回值类型为原始类型的方法)
如:sum()
concat_ws 接收的参数 必须是“string或array<string>” 如果 想放入非 string 的原始类型 或 非 array<string> 的其他 array<原始类型>
则需要使用函数cast(非string原始类型 as string ) :显示强制进行数据类型转换
concat_ws(可以放入任何返回值类型为 string或array<string> 的方法)
如 :collect_set()