[Oracle] 半角カナ文字が含まれているか確認するSQL(REGEXP_LIKE関数)

Pocket

ここでは、文字列型のカラム内に半角カナ文字だけであるかを確認するSQLのサンプルを掲載しています。

スポンサーリンク

REGEXP_LIKE関数を使用する

半角カナは、SHIFT-JISでは、以下のように定義されています。

http://charset.7jp.net/sjis.html(引用元)

上記より、以下のSQLによって半角カナ文字のみのみであるレコードを取得することができます。

select
    *
from
    table1
where
    REGEXP_LIKE(col1, '[。-゚]')

注意!!

上記テキストをコピペしても正常に動作しない可能性があります。REGEXP_LIKE 関数の第2引数は、日本語で書くと、[半角カナのピリオド ハイフン 半角カナのパとかピの ゜のみ] になります。

例えば 0 ~ 9 の文字を含まない文字列であるかを確認したい場合は、次のように ^ をつけて否定します。自分用のメモとして掲載しておきます。

select
    *
from
    table1
where
    REGEXP_LIKE(col1, '[^0-9]')

スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *