簡體   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