Security Compliance - P2 - United States-Region B
Sales Leadership - Sales Strategy - E1 - United States-Region A
Site Reliability Engineering - M6 - United Kingdom
例如,我在一列中的資料看起來有點像上面,我想使用regex_substr()來消除 P2、E1 和 M6 等之后的所有內容,它們的格式為 1 個大寫字母和 1 個數字,并且只有兩個字符。
最終輸出看起來像這樣
Security Compliance
Sales Leadership - Sales Strategy
Site Reliability Engineering
uj5u.com熱心網友回復:
我會使用正則運算式替換來表達這個:
SELECT col, REGEXP_REPLACE(col, ' - [A-Z][0-9] -.*', '') AS col_out
FROM yourTable;
在任何列值不具有匹配模式的情況下,這種方法優于子字串方法,在這種情況下將選擇原始值。
uj5u.com熱心網友回復:
您可以使用以下功能,
SELECT
substr(column, 0,
instr(column, REGEXP_SUBSTR(column, '(\w)(\d)')) -3)
FROM table;
例子
SELECT
substr('Sales Leadership - Sales Strategy - E1 - United States-Region A', 0,
instr('Sales Leadership - Sales Strategy - E1 - United States-Region A', REGEXP_SUBSTR ('Sales Leadership - Sales Strategy - E1 - United States-Region A', '(\w)(\d)')) -3);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/508390.html