プログラミング

[MySQL]文字列の長さを求める(CHAR_LENGTH)

プログラミング
この記事は約3分で読めます。
スポンサーリンク

MySQLで文字列の長さを求める関数「CHAR_LENGTH」について説明します。

スポンサーリンク

前提条件

  • Mysql:5.6

CHAR_LENGTH関数とは

引数の文字数を返します。

MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.5 文字列関数

使い方

 mysql> SELECT CHAR_LENGTH('文字列の長さを求める');
+-----------------------------------------------+
| CHAR_LENGTH('文字列の長さを求める')           |
+-----------------------------------------------+
|                                            10 |
+-----------------------------------------------+
1 row in set (0.00 sec)

ちなみに「CHARACTER_LENGTH関数」を使用しても同じ結果になります。

 mysql> SELECT CHARACTER_LENGTH('文字列の長さを求める');
+----------------------------------------------------+
| CHARACTER_LENGTH('文字列の長さを求める')           |
+----------------------------------------------------+
|                                                 10 |
+----------------------------------------------------+
1 row in set (0.00 sec)

数値の長さ(桁数)も求めることができます。

 mysql> SELECT CHARACTER_LENGTH(100);
+-----------------------+
| CHARACTER_LENGTH(100) |
+-----------------------+
|                     3 |
+-----------------------+
1 row in set (0.00 sec)

LENGTH関数との違い

似たような関数に「LENGTH関数」がありますが、これは文字列の長さをバイト単位で返す関数になります。

MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.5 文字列関数

下記のように文字列の長さではなくバイト数を返します。

 mysql> SELECT LENGTH('文字列の長さを求める');
+------------------------------------------+
| LENGTH('文字列の長さを求める')           |
+------------------------------------------+
|                                       30 |
+------------------------------------------+
1 row in set (0.00 sec)

最後に

MySQLで文字列の長さを求める場合、文字列長なのかバイト数なのかをしっかり確認してからそれぞれに対応した関数を実行するように気を付けたいですね。

スポンサーリンク
スポンサーリンク
KoEをフォローする
CodeLab

コメント

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