在 Hive 中进行字符串处理时,经常需要将多个字段的内容拼接在一起——例如把姓氏和名字合并成全名,或者将地址的省、市、区组合成一个完整的地址字段。此时可以借助 concatenate 函数(以及它的常用搭档 CONCAT_WS)。简单来说,它的作用是将两个或多个字符串列连接成一个新的字符串列,使查询结果更直观,也便于后续的数据清洗与预处理操作。

语法非常直接:
concatenate(string col1, string col2, ...)
你只需将需要拼接的列名依次放入即可,数量不限。
举个例子,假设有一张 user_info 表,包含 id、first_name、last_name 和 email 这几列。如果想将名字和姓氏合并成一个 full_name 字段,方便后续展示或导出,可以这样编写:
SELECT id, CONCAT_WS(' ', first_name, last_name) AS full_name, emailFROM user_info;
结果集中会包含 id、合并后的 full_name(例如 "John Doe"),以及原始的 email。这里使用的是 CONCAT_WS 函数,它比普通的 concatenate 多了一个分隔符参数——第一个参数用于指定分隔符,可以是空格、逗号、下划线等,完全由你决定。如果不需要分隔符,直接使用 concatenate 即可;如果需要统一格式,CONCAT_WS 会更高效。在实际工作中,根据具体场景灵活选择即可。
