【SQL超入門講座】16.LENGTH関数|文字数を条件にしてデータを抽出する方法

オススメ

SQL入門口座の16回目です。
これまでのレッスンでは、ある特定の文字を含むレコードや、ある数値より大きいレコードなどの条件で抽出してきました。
このレッスンから、条件に関数を使う抽出の仕方について学習します。
SQLではエクセルなどと同様に関数を使用することができます。
関数を使用することで、目的の計算や処理を簡単かつ正確に行うことができます。
関数には様々な種類がありますが、利用頻度の高いものから使い方を覚えていきましょう。

今回学習するLENGTH関数は文字数を取得する関数です。
LENGTH関数を使うことで、カラムの各値の文字数を把握することができます。
そして指定した文字数以上のレコードだけを抽出するといったことができるようになります。
基本的な関数ですので、しっかり使い方をマスターしましょう。

▼目次
00:00 はじめに
01:29 LENGTH関数とは
02:25 LENGTH関数の使い方
03:23 WHERE句でLENGTH関数を使う方法(文字数を条件に抽出)
04:13 おわりに

▼関連動画
【SQL超入門講座】01.コース紹介 ~ SQLとは? ~ 環境構築|初心者向け

【SQL超入門講座】01.コース紹介 ~ SQLとは? ~ 環境構築|初心者向け

【SQL超入門講座】02.データベースのテーブルとは?

【SQL超入門講座】02.データベースのテーブルとは?

【SQL超入門講座】03.SELECT文|SQLの基本中の基本

【SQL超入門講座】03.SELECT文|データベースからデータ抽出する方法

【SQL超入門講座】04.WHERE|特定の条件でデータを抽出する方法

【SQL超入門講座】04.WHERE|特定の条件でデータを抽出する方法

【SQL超入門講座】05.ORDER BY|データの並び替え

【SQL超入門講座】05.ORDER BY|データの並び替える方法

【SQL超入門講座】06.GROUP BY|グルーピング、グループ化

【SQL超入門講座】06.GROUP BY|指定したカラムの値を基準にデータを集計する方法

【SQL超入門講座】07.HAVING|グループ化したデータの中からデータ抽出

【SQL超入門講座】07.HAVING|グループ化したデータの中からデータ抽出

【SQL超入門講座】08.JOIN|テーブルの結合(INNER JOIN/LEFT JOIN)

【SQL超入門講座】08.INNER JOIN/LEFT JOIN|テーブル同士を結合する方法①

【SQL超入門講座】09.PostgreSQLの環境構築|MacとWindowsで解説!

【SQL超入門講座】09.PostgreSQLの環境構築|MacとWindowsで解説!

【SQL超入門講座】10.PythonとPostgreSQLの接続

【SQL超入門講座】10.PythonからPostgreSQLに接続する方法

【SQL超入門講座】11.データベースのバックアップと復元

【SQL超入門講座】11.データベースのバックアップと復元する方法

【SQL超入門講座】12.テーブルの結合(RIGHT JOIN/OUTER JOIN)

【SQL超入門講座】12.RIGHT JOIN/OUTER JOIN|テーブルの結合する方法②

【SQL超入門講座】13.AND, OR|複数条件で抽出する方法

【SQL超入門講座】13.AND, OR|複数条件で抽出する方法

【SQL超入門講座】14.LIKE|部分一致や前方一致、後方一致するレコードを抽出する方法

【SQL超入門講座】14.LIKE|部分一致や前方一致、後方一致するレコードを抽出する方法

【SQL超入門講座】15.BETWEEN|区間を指定して抽出する方法

【SQL超入門講座】15.BETWEEN|区間を指定して抽出する方法

▼書き起こしブログ
準備中

▼自己紹介
ブログに自己紹介を書いております。
https://kino-code.com/profile/

▼SNS
Twitter : https://twitter.com/kino_code/likes
Facebook : https://www.facebook.com/キノコード -105693727500005/
Website : https://kino-code.com/

▼書き起こし
LENGTH関数はLENGTH(文字列)の形で使用し、引数に指定した文字列の文字数を取得することができます。  
引数のデータ型がBLOB型の場合はバイト数を取得します。
BLOB型はバイナリデータの格納に使用されるデータ型で、BLOBとはBinary Large OBjectを意味します。
ちなみに、BLOB型の例は、画像や音声などのマルチメディアオブジェクトをバイナリデータに変換したものです。

なお、引数が文字列やBLOB型でない場合は、一度文字列に変換したうえで文字数を取得します。
また、引数がNULLの場合は、NULLが返ってきます。

さらに引数にはカラムを指定することができます。
次のようにSELECT文を書くと、指定したカラムに含まれる各値の文字数を取得することができます。

“`
SELECT LENGTH(カラム) FROM テーブル
“`
ここからはデモテーブルを使って、LENGTH関数の使い方を実際に確認してみましょう。

今回はデモテーブルとしてtest_tableを作成します。
test_tableは注文データが入ったテーブルで、商品名というTEXT型のカラムをがあります。

|index|売上日|社員ID|商品分類|商品名|単価|数量|売上金額|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|1|2020/1/4|a023|ボトムス|ロングパンツ|7000|8|56000|
|2|2020/1/5|a003|ボトムス|ジーンズ|6000|10|60000|
|3|2020/1/5|a052|アウター|ジャケット|10000|7|70000|
|・||||||||

それではこのテーブルから商品名を抽出し、その隣に商品名の文字数を表示してみましょう。
SQLはこのように書くことができます。

“`
SELECT 商品名, LENGTH(商品名) 文字数 FROM test_table
“`
SELECT句で商品名のカラムと、LENGTH関数を書き、引数に商品名のカラムを指定します。
このLENGTH関数は、それぞれの商品名の文字数を返します。
この文字数を格納する新しいカラムは、そのまま「文字数」としました。

それではSQLを実行します。
(続く)

#SQL #データベース #postgreql #LENGTH #文字数 #WHERE

コメント

タイトルとURLをコピーしました