指定した文字以上・以下の行を取得する方法!SQL初心者の勉強

メインのテーブルへデータを挿入する前に、一時テーブルへ値を挿入しエラーとなる値を弾く必要があった。その時に指定した文字以上のものはエラー、以下のもののみメインへ挿入するというように文字数を条件にデータを取得する機会があったので備忘録です。

動作環境

この記事はSQL FIDDLEでMySQL5.6、PostgreSQL9.6で動作確認しました。
下記文章は主にPostgreSQLで仕様で調べています。

以上以下を取得する方法

文字数をchar_length()で取得することができます。

比較演算子を使って以上以下を取得することができます。

条件比較演算子
以上>=
以下<=
大なり>
小なり(未満)<
等しい=
等しくない!= または <>

構文

SELECT * FROM テーブル名 where char_length(カラム名) 比較演算子 数値;

実際に文字を以上・以下で取得してみよう

10文字以上の文字

SELECT
'10文字以上' as 条件,
'タイトル' as 文字列,
tittle,
textnum
FROM item where char_length(tittle) >=10;

■ 結果

条件文字列tittletextnum
10文字以上タイトル金田一少年の事件簿 第2期13文字

5文字以下の文字

SELECT
'5文字以下' as 条件,
'タイトル' as 文字列,
tittle,
textnum
FROM item where char_length(tittle) <=5;

おわり

比較演算子でいろいろ実験してみると楽しいですよね。