0

テーブル A に次のような値を持つリンク (以下に示す) フィールドがあります。

リンクから 7 桁のコードを抽出する必要があります。コード:

1 - 文字を含まない常に 7 桁です。

2 - は常に を含み'/carrier/'、 から 1 セクション離れてい'/carrier/'ます。

上記のリンクのコードは 2360283 と 4322830 です。

で選択クエリを提案してくださいRegExp

ありがとう、

4

2 に答える 2

0

試す

$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を参照してください

于 2013-05-13T04:48:57.357 に答える
0

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}/'
于 2013-05-13T05:27:38.557 に答える