select user_id,user_name,
--regexp_substr(str,reg,起始位置 第幾次)
regexp_substr(teachers, '[^,]+', 1, level) teacher
from students
connect by level <= regexp_count(teachers, ',') + 1
--regexp_count(teachers, ',') 統計字串中,的數量
and user_id = prior user_id
--error:
--ora-01436: connect by loop in user data
--為了欺騙它,這裡用了乙個prior dbms_random.value, 因為dbms_random.value每次呼叫都返回不同結果,所以它認為兩行資料不一樣,所以不報錯了。
and prior dbms_random.value is not null
Hive的列分隔符和行分隔符
在建立hive表時,預設行分隔符 a 列分隔符 n 這兩項也是可以設定的。在實際開發中,一般預設使用預設的分隔符,當然有些場景下也會自定義分隔符。spark hive use test db 建立外部表 create external table test tb user id bigint com...
hive的列分隔符和行分隔符的使用
目錄 一 hive中預設的分割符如下 二 分隔符的指定與使用 三 建好表之後更改字段分隔符 分隔符描述 n 行分隔符 a欄位分隔符 001 barray struct的元素間的分隔符,map的鍵值對與鍵值對間分隔符 002 cmap中鍵與值之間的 分隔符 003 hive中在建立表時,一般會根據匯入...
固定列 固定分隔符欄位列轉行
在表t1中儲存如下內容,列2中的值用固定分隔符 進行分割 請編寫sql,執行並得到如下結果 不得使用儲存過程和自定義函式,mysql版本不限。create table t1 c1 int,c2 varchar 5 insert into t1 values 1,a,b 2,c,d,e 3,f,g s...