Oracle

正則表達式 oracle SQL

  • February 1, 2022

如何檢查字元串是否包含固定數量的數字(int),然後是固定數量的字元,然後是固定數字。我只搜尋 9 個數字 2 個後者,然後 4 個數字對我來說其他一切都是 FALSE。據我了解,最好的方法是使用 reg exp 但無法設置它。

regexp_like可能有幫助。

SQL> with test (col) as
 2    (select '123456789gm9876' from dual union all
 3     select '372737373ddd123' from dual
 4    )
 5  select
 6    col,
 7    case when regexp_like(col, '^[[:digit:]]{9}[[:alpha:]]{2}[[:digit:]]{4}$') then 'good'
 8         else 'bad'
 9    end result
10  from test;

COL             RESULT
--------------- ------
123456789gm9876 good
372737373ddd123 bad

SQL>

引用自:https://dba.stackexchange.com/questions/306814