2017-07-13 5 views
-3

私は列/フィールド内のすべてのパターンを識別するための単一の数式を作成しようとしています。例:以下は、5つの異なるパターン 第一のパターンのための列内の数字のパターンを識別する方法は?

AG 5643 895468 UWEB 
7546 695321 IJJK 
PE 45612384 
8642567921 
16724385 

式である:[4番号6番号 「* [0-9] [0-9] [0-9]を含ま0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] * 'これは機能しません。長さを指定できますか?このようなもの[0-9] {4} - 4桁の数字? 最初のパターンでも2番目のパターンを選択する必要があります。

第三1:10桁の番号事前に

第五1 8桁の番号

ありがとう:最初の2つの文字はアルファベット8または10桁の数字

第四一つです!

+0

混乱して申し訳ありませんが、これはフィールドの値です。 AG 5643 895468 UWEB 7546 695321 IJJK PE 45612384 8642567921 16724385 –

答えて

0

MySQLで作業している場合は、RLIKEフィルタ演算子で正規表現を使用できます。

たとえば、WHERE text RLIKE '[0-9]{8}'は、8桁の連続したすべての行をどこでも見つけることができます。 (http://sqlfiddle.com/#!9/44996/1/0

WHERE text RLIKE '^[0-9]{8}%'は、8桁のシーケンスだけで構成される行を検索します。 (http://sqlfiddle.com/#!9/44996/2/0

WHERE text RLIKE '^[0-9A-Z]{2} 'は、2文字または数字で始まり、次にスペースで始まる行を見つけます。 (http://sqlfiddle.com/#!9/44996/3/0

あなたはそのアイデアを得ます。正規表現は、一般的に説明するSO答えの範囲を超えて、彼らに多くの力を持っています。しかし、注意してください。これは一般的なことです:e正規表現の問題を解決すれば、今は2つの問題があります。あなたはそれらに注意する必要があります。

関連する問題