我有一張桌子:
column1
A.A=123; B.B=124; C.C=125
C.C=127
我正在嘗試從表中獲取數值。預期的輸出是
A -> 123 / B -> 124 等
我正在嘗試使用 regexp_extract
請問有什么建議嗎?
uj5u.com熱心網友回復:
如果定界符是固定的 - '; ' 鍵值對之間和 '=' 鍵和值之間,您可以使用 str_to_map 函式:
select str_to_map('A.A=123; B.B=124; C.C=125','; ','=')['A.A'] as A --returns 123
如果您更喜歡正則運算式:
select
regexp_extract('A.A=123; B.B=124; C.C=125','A.A=(\\d*)',1) as A, --returns 123
regexp_extract('A.A=123; B.B=124; C.C=125','B.B=(\\d*)',1) as B --returns 124
等等
對于不區分大小寫的添加(?i)到正則運算式
select regexp_extract('A.A=123; b.b=124; C.C=125','(?i)B.B=(\\d*)',1) as B --returns 124
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/362076.html
