[英]Regular expression Oracle
我正在學習使用正則表達式,並且我正在使用它們通過使用 Oracle 11 中的 REGEXP_LIKE 來限制搜索查詢的結果。放置一個可用數據的示例,我有以下內容:
Plan navegación 200 MB
Plan navegación 1 GB
Plan navegación 1 GB
Plan de navegacion 3G
Plan de navegacion 4G
Plan de navegacion 3G Empresarial
Plan de navegacion 4G Empresarial
Plan de servicios 3G
Plan de servicios 4G
Plan navegación Datos
我希望這個結果僅限於以下(僅限 3G、4G):
Plan de navegacion 3G
Plan de navegacion 4G
Plan de navegacion 3G Empresarial
Plan de navegacion 4G Empresarial
我正在使用以下搜索模式,但我沒有正確過濾結果:
我做了幾次測試,沒有找到解決方案。 有人可以給我提示嗎?
您可以簡單地使用 LIKE,如下所示:
select *
from mytable
where PLAN_GSM LIKE 'Plan de navegacion _G%';
或使用 REGEXP_LIKE,如下所示:
select *
from mytable
where REGEXP_LIKE(PLAN_GSM, '^Plan de navegacion (3|4|5)G(*)');
參考:
你可以使用這個:
SELECT * FROM mytable
WHERE REGEXP_LIKE(mycolumn, '\APlan de navegacion \dG.*\z', 'c');
\\d
代表一個數字\\A
是字符串的開頭.*
貪婪地匹配任何字符\\z
是字符串的結尾select *
from all_tab_columns
where COLUMN_NAME like '%MAIN%ACCOUNT%LINK%CODE%N%' and TABLE_NAME like 'CB%' and not regexp_like(table_name,'[0-9]')
上面的查詢將獲取唯一沒有內容數量的對象。
select *
from all_tab_columns
where COLUMN_NAME like '%MAIN%ACCOUNT%LINK%CODE%N%' and TABLE_NAME like 'CB%' and not regexp_like(table_name,'[0-9]')
上面的查詢將只獲取帶有數字內容的對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.