【SQL】任意の文字数と一致・以上・以下のデータを抽出する方法

ここでは、ORACLE SQLで任意の文字数と一致する、もしくは以上、以下のデータを取得する方法を紹介します。

任意の文字数と一致・以上・以下のデータを抽出する方法

まず、文字数を確認するには、length関数を使います。

length(カラム)とすることで、カラムの文字数を返します。

次のSQLでは、「length(item_cd)」とすることで、item_cdの文字数を取得し、WHERE句の条件に指定して、数値と比較することで対象データを抽出しています。

--商品コード(item_cd)が10桁のデータのみ取得する場合
select * FROM table1 where length(item_cd) = 10;

--商品コード(item_cd)が10桁以上のデータのみ取得する場合
select * FROM table1 where length(item_cd) >= 10;

--商品コード(item_cd)が10桁以下のデータのみ取得する場合
select * FROM table1 where length(item_cd) <= 10;

もちろん、length関数は、SELECT句で使うこともできます。

次のSQLでは、SELECT句で「length(item_cd)」として、item_cdの文字数を取得しています。

select length(item_cd) FROM table1;

もし、文字数ではなく、バイト数でチェックしたい場合は「SQLで列の値・文字列のバイト数を確認する方法」をご覧ください。

まとめ

文字数を条件にレコードの抽出を行うには、length関数を使います。

length(カラム)とすることで、カラムの文字数を返します。

この他にも、SELECT文には様々な機能や使い方があります。詳しくは「【SQL】SELECT文の書き方:サンプル多数あり」で解説していますのでぜひ参考にしてください。