0

次のパターンに一致しないデータを検索したい:

  • 任意の数のセパレータ
  • 2つの数字
  • 任意の数のセパレータ
  • 2つの数字
  • 任意の数のセパレータ
  • 2つの数字
  • 任意の数のセパレータ
  • 2つの数字
  • 任意の数のセパレータ
  • 2つの数字
  • 任意の数のセパレータ

これを行うには、次のクエリを使用しますが、うまくいかないようです:

select distinct regexp_replace(phonenumber, '[0-9]', '') 
from coord 
where REGEXP_LIKE(phonenumber, '^[ ./]{*}[0-9]{2}[ ./]{*}[0-9]{2}[ ./]{*}[0-9]{2}[ ./]{*}[0-9]{2}[ ./]{*}[0-9]{2}[ ./]{*}$')

私は何を間違えましたか?

4

1 に答える 1

3

パターンに一致するレコードを検索したい場合は、次のように{*}置き換えます*

SELECT DISTINCT regexp_replace(phonenumber, '[0-9]', '')
  FROM coord 
 WHERE regexp_like(phonenumber,
                   '^[ ./]*[0-9]{2}[ ./]*[0-9]{2}[ ./]*[0-9]{2}[ ./]*'
                   ||'[0-9]{2}[ ./]*[0-9]{2}[ ./]*$')

このパターンに一致しないレコードを選択する場合:

SELECT DISTINCT regexp_replace(phonenumber, '[0-9]', '')
  FROM coord 
 WHERE NOT regexp_like(phonenumber,
                       '^[ ./]*[0-9]{2}[ ./]*[0-9]{2}[ ./]*[0-9]{2}[ ./]*'
                       ||'[0-9]{2}[ ./]*[0-9]{2}[ ./]*$')
于 2012-06-27T11:46:07.340 に答える