【SQL】任意の文字数と一致・以上・以下のデータを抽出する方法
ここでは、ORACLE SQLで任意の文字数と一致する、もしくは以上、以下のデータを取得する方法を紹介します。
SELECT文のサンプルは↓で多数紹介していますので参考にしてください。
>>【SQL】SELECT文の書き方:サンプル多数あり
任意の文字数と一致・以上・以下のデータを抽出する方法
まず、文字数を確認するには、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文の書き方:サンプル多数あり」で解説していますのでぜひ参考にしてください。