SQLで漢字のカラムのみに絞り込む方法

※当サイトではアフィリエイト広告を利用しています

SQLで特定の文字種類のみを絞り込む際は、正規表現や特定の文字範囲を利用します。

そこで、いくつかのデータベースでのSQLの書き方を整理してみたいと思います。

mysqlで漢字のカラムのみに絞り込むSQL

SELECT * FROM テーブル名 WHERE カラム名 REGEXP '^[一-龠]+'

PostgreSQLで漢字のカラムのみに絞り込むSQL

SELECT * FROM テーブル名 WHERE カラム名 ~ '^[一-龠]+'

SQL Serverで漢字のカラムのみに絞り込むSQL

SQL Serverには直接的な正規表現のサポートがありません。

しかし、ワイルドカードを利用する方法やCLR統合を活用する方法など、いくつかの回避策が存在します。

ただ、このような簡単な絞り込みには不向きです。

Oracleで漢字のカラムのみに絞り込むSQL

SELECT * FROM テーブル名 WHERE REGEXP_LIKE(カラム名, '^[一-龠]+')

これらのクエリは、指定されたカラムに漢字のみが含まれる行を取得します。

もちろん、この正規表現は完璧ではないため、漢字の範囲に変動がある場合や環境によっては調整が必要です。

SQLiteで漢字のカラムのみに絞り込むSQL

SELECT * FROM テーブル名 WHERE カラム名 REGEXP '^[一-龠]+'

コメント