以下は、この点で有用な場合があります。私も抽出を追加することができますが、私はそれがここまで取得した後、すでに理解される可能性があります考え出し:
create table patterns (p varchar(65), find_at smallint)
;
insert into patterns values
('fsadlk fasldkl jhkjfd khjfasd 11-333-878787618 hfsd uhjkfads',31)
,('weroiu 11-333-8787zz618 oiuwens snkdl osjlwhe' ,00)
,('nm,sdj xhdgweufyen sndh 711-333-878787618 hfsd uhjkfads' ,26)
,('nm,sdj xhdgweufyen sndh 11-333-8787876187 hfsd uhjkfads' ,25)
-- ....+....1....+....2....+....3....+....4....+....5....+....6.
;
select translate(p, '9', '', '9') as translated
, smallint(locate('99-999-999999999'
, translate(p, '9', '', '9'))
) as located
, find_at
from patterns
; -- report from the above query follows:
TRANSLATED LOCATED FIND_AT
fsadlk fasldkl jhkjfd khjfasd 99-999-999999999 hfsd uhjkfads 31 31
weroiu 99-999-9999zz999 oiuwens snkdl osjlwhe 0 0
nm,sdj xhdgweufyen sndh 999-999-999999999 hfsd uhjkfads 26 26
nm,sdj xhdgweufyen sndh 99-999-9999999999 hfsd uhjkfads 25 25
が使用しているデータベースであなたの質問にタグを付けてください。また、質問を編集し、サンプルデータと希望の結果を提供します。 –
また、サンプルテーブルのデータと予想される結果を追加します。 – jarlh