在這種情況下如何使用正則運算式?
select 'John Doe jr.' from dual;
結果,我希望看到它是這樣的:
| 第 1 列 | col2 | col3 |
|---|---|---|
| 約翰 | 能源部 | JR。 |
有一行包含空格,您需要從該行中洗掉所有空格并將其拆分為列。
我使用 Oracle 19c
uj5u.com熱心網友回復:
對于您發布的示例資料,這是一個選項 - 回傳第一個、第二個和第三個單詞(后跟一個點):
SQL> with test (col) as
2 (select 'John Doe jr.' from dual)
3 select regexp_substr(col, '\w ', 1, 1) col1,
4 regexp_substr(col, '\w ', 1, 2) col2,
5 regexp_substr(col, '\w .', 1, 3) col3
6 from test;
COL1 COL COL
---- --- ---
John Doe jr.
SQL>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/430042.html
上一篇:選擇列值相對于列唯一的行
下一篇:從一個查詢插入回傳到另一個查詢
