今回はOracleDBの中で正規表現を使う機会がありました! なので、ちょっとどんな感じに使ったのかを残しておきます。
今回は結論をバシッと!
Table of Contents
英数字を抽出
対象カラムに英数字が入力されていたら抽出するSQLは以下!
SELECT
*
FROM
テーブル名
WHERE
(REGEXP_LIKE(カラム名, '^[[:alnum:]]'))
Code language: JavaScript (javascript)
もし、英数字以外のカラムを抽出したい場合は以下でいけます!
SELECT
*
FROM
テーブル名
WHERE
NOT(REGEXP_LIKE(カラム名, '^[[:alnum:]]'))
Code language: JavaScript (javascript)
↑ただ、この場合空白とかも抽出されてしまうので注意しておいてください!
数値が入力されていた時だけ抽出
先ほどは英数字だけだった場合だったのですが、数値だけだった場合はどのように抽出するのか!
SELECT
*
FROM
テーブル名
WHERE
(REGEXP_LIKE(カラム名, '^[[:digit:]]'))
Code language: JavaScript (javascript)
digit
を指定することで、カラム内が数値だけだった場合抽出するようにします
まとめ
今回は以下のようなサイトを参考にさせてもらいました!
あとは正規表現のチートシートも共有してくれているサイトもあるのでこれも参考に~
エンジニアとして基本的(基本的とはなんぞや)な正規表現は覚えておきたいな…