メインのテーブルへデータを挿入する前に、一時テーブルへ値を挿入しエラーとなる値を弾く必要があった。その時に指定した文字以上のものはエラー、以下のもののみメインへ挿入するというように文字数を条件にデータを取得する機会があったので備忘録です。
動作環境
この記事は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;
■ 結果
条件 | 文字列 | tittle | textnum |
---|---|---|---|
10文字以上 | タイトル | 金田一少年の事件簿 第2期 | 13文字 |
5文字以下の文字
SELECT
‘5文字以下’ as 条件,
‘タイトル’ as 文字列,
tittle,
textnum
FROM item where char_length(tittle) <=5;
おわり
比較演算子でいろいろ実験してみると楽しいですよね。