繁体   English   中英

Hive - 带有行数据的 Concat 字符串

[英]Hive - Concat String with row data

我正在尝试使用 Hive 将字符串与表中的数据行连接起来。

在 SQL 中看起来像这样

 SELECT 'Select * from ' + [Column] + '; '
                 FROM table_name
                 ORDER BY [table_name]

结果应该是- SELECT * FROM abc; 从 asd 中选择 *; 选择 * 从 xyz..

无法在 Hive 命令中写入或找到与此相关的内容。

使用 concat() 函数:

'SELECT concat('Select * from ', [table_name],  '; ') 
                 FROM your_table
                 ORDER BY [table_name]'

如果 [table_name] 是包含 table_name 的列

连接行中的字符串数据。 假设x , y是列名。

insert into orders(1,"a");
insert into orders(2,"b");

这里假设我们想将"a""b"连接为一个实体。 所以我们做如下

select concat_ws(',',collect_list(a,b)) from orders;

您可以使用 concat 来完成您的任务。 但是如果你直接把“;” 在 concat 函数中,它可能会显示“无法识别输入错误”以避免之前使用 \;

下面是相同的测试和工作示例

select concat("select * from ", col , " \;") from table

输出:

从 A 中选择 *;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM