テーブル A に次のような値を持つリンク (以下に示す) フィールドがあります。
リンクから 7 桁のコードを抽出する必要があります。コード:
1 - 文字を含まない常に 7 桁です。
2 - は常に を含み'/carrier/'
、 から 1 セクション離れてい'/carrier/'
ます。
上記のリンクのコードは 2360283 と 4322830 です。
で選択クエリを提案してくださいRegExp
。
ありがとう、
テーブル A に次のような値を持つリンク (以下に示す) フィールドがあります。
リンクから 7 桁のコードを抽出する必要があります。コード:
1 - 文字を含まない常に 7 桁です。
2 - は常に を含み'/carrier/'
、 から 1 セクション離れてい'/carrier/'
ます。
上記のリンクのコードは 2360283 と 4322830 です。
で選択クエリを提案してくださいRegExp
。
ありがとう、
試す
$str = 'http://test.abc.com/carrier/CA-9265/2360283/?id=41352626&src=j2w&...';
SELECT SUBSTRING_INDEX( SUBSTRING_INDEX($str,'/',-2),'/',1)
// return 2360283
詳細については、 SUBSTRING_INDEXを参照してください
carrier
「7桁のコード」が表示される場所もわからないと仮定すると、位置を計算/carrier/
し、それに対する相対位置を使用する必要がありますが、パターンに関連する行でのみ
select
substring_index(substring_index(link,
'/',
find_in_set('carrier',
replace(replace(link, ',', '{'), /* { is any weird character */
'/',
',')) + 2), /* +2 => 1 section away from carrier */
'/',
- 1) as SEVENDIGITCODE
from
TableA
where
link regexp '/carrier.*/[0-9]{7}/'