您好我在 ORACLE 資料庫中使用 SQL 查詢。我如何使用函式 REGEXP_SUBSTR (oracle SQL) 創建一個名為“VOIE”的新列,該列僅包含“VOIE”的型別,如果沒有它表示為 NULL。這是我的資料框的示例:
SP_PK LIB NAME
234 Voie orale, 2cpr, dès demain jojo
298 2cpr, dès la semaine pro tata
302 Voie buccale, 1 gélule par jour lobi
209 NULL sola
我想擁有什么:
SP_PK LIB NAME VOIE
234 Voie orale, 2cpr, dès demain jojo Voie orale
298 2cpr, dès la semaine pro tata NULL
302 Voie buccale, 1 gélule par jour lobi Voie buccale
209 NULL sola NULL
uj5u.com熱心網友回復:
這是一個選項:
SQL> with test (lib) as
2 (select 'Voie orale, 2cpr, dès demain' from dual union all
3 select '2cpr, dès la semaine pro' from dual union all
4 select 'Voie buccale, 1 gélule par jour' from dual union all
5 select null from dual union all
6 select 'what is voie anyway?' from dual
7 )
8 select lib,
9 regexp_substr(lib, 'voie \w ', 1, 1, 'i') voie
10 from test;
LIB VOIE
--------------------------------- ------------------------------
Voie orale, 2cpr, dcs demain Voie orale
2cpr, dcs la semaine pro
Voie buccale, 1 gélule par jour Voie buccale
what is voie anyway? voie anyway
SQL>
uj5u.com熱心網友回復:
我應該認為沒有必要使用 REGEXP ...... REGEX 非常昂貴!
SELECT SUBSTR(LIB, instr(' ' || LIB, ' voie '), instr('LIB, ',') - instr(' ' || LIB, ' voie ')
Fera l'affaire.... PS j'ai pas Oracle sous la main !
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/432940.html
上一篇:如何制作成陣列并計數
下一篇:計算表的記錄完整性
