sql 陣列拆分,行轉列,字段提取

2021-10-24 15:26:00 字數 1287 閱讀 8224

問題背景

某一列資料 格式為:[,,]

需要提取出 word對應的單詞,且轉為多行.

方法陣列拆分split函式 +lateral view explode+get_json_object

注意 lateral veiw explode 的列名 不能與 as 後重新命名的列名相同.

po***plode用途:將一行資料轉為多行的udtf。 如果引數是array型別,則將列中儲存的array轉為多行。 如果引數是map型別,則將列中儲存的map的每個key-value轉換為包含兩列的行,其中一列儲存key,令一列儲存value。

注意:這個函式靈活度不高,使用po***plode之後不能選擇其他列

SQL欄位拆分優化

今天看到一條用函式處理連線的sql,是群裡某位的,sql語句如下 select so order.fdate so order.fsn from so order inner join so orderitem on charindex so orderitem.fid,so order.fid 1...

SQL提取資料庫表名 欄位名等資訊

查詢所有使用者表所有欄位的特徵 select d.name as tablename,a.colorder as colorder,a.name as name,columnproperty a.id,a.name,isidentity as isidentity,case when exists ...

SQL 同乙個字段多個值,實現動態行轉列

用動態sql實現行轉列。因用到了row number,只適用於sql server 2005及以上版本 測試資料 with user id,name,roleid as select 1,bobo r1 union all select 2,coco r1 union all select 3,do...