Hive连接函数 concat 和 concat_ws 使用示例

Hive连接函数 concat 和 concat_ws 使用示例

concat 函数的语法:

  • concat(str1, str2, …) :将多个字符串连接成一个字符串,中间使用空格进行分隔。

concat_ws 函数的语法:

  • concat_ws(sep, str1, str2, …) :将多个字符串连接成一个字符串,使用指定的分隔符 sep 进行分隔。第一个参数是分隔符,后面的参数是要连接的字符串列或值。
1. 创建student_scores表,向student_scores表中插入数据

代码如下:

CREATE TABLE student_scores
(
    id         INT,
    name       STRING,
    score      INT,
    group_name STRING
);
-- 向student_scores表中插入数据
INSERT OVERWRITE TABLE student_scores
VALUES (1, 'Jack', 96, 'A组'),
       (2, 'John', 90, 'A组'),
       (5, 'Lucy', 97, 'A组'),
       (4, 'Caocao', 96, 'B组'),
       (3, 'Lvbu', 99, 'B组');
2.使用不同的连接函数来拼接字符串
select concat(group_name, " - ", name, " - ", score)
from student_scores;
select concat_ws(" - ", group_name, name, score)
from student_scores;

执行结果:
A组 - Jack - 96
A组 - John - 90
A组 - Lucy - 97
B组 - Caocao - 96
B组 - Lvbu - 99

这两个查询结果都是将 group_name 、 name 和 score 字段连接起来,以" - "作为分隔符,形成新的字符串输出。


3. 总结这两个函数的使用场景如下:
  1. CONCAT 函数:
  • 适用于简单的字符串拼接操作,将多个字符串连接成一个新的字符串。
  • 可以用于创建自定义的文本字段,合并多个字段的内容,或者添加固定的分隔符。
  • 适合在SQL查询中进行简单的字符串合并操作,不涉及复杂的逻辑或条件。
  1. CONCAT_WS 函数:
  • 适用于需要指定分隔符的字符串拼接操作,其中 WS 表示"with separator"。
  • 可以指定一个分隔符,将多个字符串连接起来,并在每个字符串之间插入指定的分隔符。
  • 常用于生成带有特定分隔符的字符串,如生成CSV文件、日志文件等需要特定格式的数据。

总的来说, CONCAT 函数适用于简单的字符串连接操作,而 CONCAT_WS 函数则适用于需要指定分隔符的字符串连接操作。根据具体的业务需求和数据处理场景,选择合适的函数来实现字符串拼接操作。

相关推荐

  1. Hive连接函数 concat concat_ws 使用示例

    2024-03-15 09:42:04       19 阅读
  2. Hive中的CONCATCONCAT_WS与COLLECT_SET函数

    2024-03-15 09:42:04       16 阅读
  3. Hive函数 EXPLODE POSEXPLODE 使用示例

    2024-03-15 09:42:04       23 阅读
  4. listagg、xmlagg、group_concat()函数用法

    2024-03-15 09:42:04       36 阅读
  5. 【MySQL】探索 MySQL 的 GROUP_CONCAT 函数

    2024-03-15 09:42:04       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-15 09:42:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-15 09:42:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-15 09:42:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-15 09:42:04       18 阅读

热门阅读

  1. 如果保障服务器的安全

    2024-03-15 09:42:04       17 阅读
  2. ubuntu服务器使用netplan管理工具添加静态地址

    2024-03-15 09:42:04       18 阅读
  3. C++ lambda函数个人理解

    2024-03-15 09:42:04       21 阅读
  4. springboot配置文件Tomcat和mvc详细配置

    2024-03-15 09:42:04       19 阅读
  5. 面向对象设计之里氏替换原则

    2024-03-15 09:42:04       17 阅读
  6. SqlServer 系统表

    2024-03-15 09:42:04       23 阅读
  7. 本地环境下运行Spark程序

    2024-03-15 09:42:04       21 阅读
  8. Python和MATLAB数字信号波形和模型模拟

    2024-03-15 09:42:04       21 阅读
  9. 90%的程序员不适合做独立开发

    2024-03-15 09:42:04       18 阅读
  10. 这个不需要吗 HttpServletRequest req

    2024-03-15 09:42:04       21 阅读
  11. 2024.3.14

    2024.3.14

    2024-03-15 09:42:04      20 阅读