MySqlの正規表現
仕事で、ある11桁の番号を抽出することになった。
11桁の番号は、1番から10番までは連番ですが、11桁目はチェックポイント。
最初考えたSQL文はこれ:
SELECT
*
FROM
Table
WHERE
slipNo LIKE '%5012018001%
OR slipNo LIKE '%5012018002%
OR slipNo LIKE '%5012018003%
OR slipNo LIKE '%5012018009%
結果は問題ないけど、無限にWHERE句でOR、LIKEの組み合わせはDRY規則に反するので、あまり好まない。。。
そこで正規表現
SELECT
*
FROM
Table
WHERE slipNo REGEXP ’501201800[1-9]*'
いいですね