MySQL の CHARACTER_LENGTH() 関数の使用法の詳細な説明

藏色散人
リリース: 2019-04-25 17:06:09
オリジナル
8047 人が閲覧しました

MySQL では、CHARACTER_LENGTH() 関数は文字列の長さを文字数で返します。

CHARACTER_LENGTH() は、CHAR_LENGTH() 関数の同義語です。

構文は次のようになります。

CHARACTER_LENGTH(str)
ログイン後にコピー

ここで、str は長さを返す文字列です。

例 1 - 基本的な使用法

以下は基本的な使用例です:

SELECT CHARACTER_LENGTH('Cat');
ログイン後にコピー

結果は次のようになります:

+-------------------------+
| CHARACTER_LENGTH('Cat') |
+-------------------------+
|                       3 |
+-------------------------+
ログイン後にコピー

例 2 - 末尾のスペース

CHARACTER_LENGTH() では、計算に末尾のスペース (文字列の末尾のスペースなど) が含まれることに注意してください。

したがって、前の例の最後にスペースを追加すると:

SELECT CHARACTER_LENGTH('Cat ');
ログイン後にコピー

結果:

+--------------------------+
| CHARACTER_LENGTH('Cat ') |
+--------------------------+
|                        4 |
+--------------------------+
ログイン後にコピー

ただし、TRIM() 関数または RTRIM() 関数を使用して削除できます。スペースに続く:

SELECT 
  CHARACTER_LENGTH(TRIM('Cat ')) AS 'TRIM',
  CHARACTER_LENGTH(RTRIM('Cat ')) AS 'RTRIM';
ログイン後にコピー

結果:

+------+-------+
| TRIM | RTRIM |
+------+-------+
|    3 |     3 |
+------+-------+
ログイン後にコピー

例 3 - スペースが前にある

同じ概念が、先行するスペースにも適用されます。 TRIM または LTRIM を使用できます:

SELECT 
  CHARACTER_LENGTH(TRIM(' Cat')) AS 'TRIM',
  CHARACTER_LENGTH(LTRIM(' Cat')) AS 'LTRIM';
ログイン後にコピー

結果:

+------+-------+
| TRIM | LTRIM |
+------+-------+
|    3 |     3 |
+------+-------+
ログイン後にコピー

例 4 - データ型

文字列のデータ型は関係ありません。に保存されている場合、すべて同じ結果が返されます。これは、データが Unicode 文字列として保存されている場合に 2 倍の文字数を返す LENGTH() 関数とは対照的です。

以下の例では、ArtistName 列は varchar(255):

SELECT CHARACTER_LENGTH(ArtistName) Result
FROM Artists
WHERE ArtistName = 'Lit';
ログイン後にコピー

結果:

+--------+
| Result |
+--------+
|      3 |
+--------+
ログイン後にコピー
ログイン後にコピー

Unicode を使用するように ArtistName 列を変更すると、次のようになります。

ALTER TABLE Artists 
MODIFY COLUMN ArtistName VARCHAR(255) unicode;
ログイン後にコピー

そして同じクエリを再度実行します:

SELECT CHARACTER_LENGTH(ArtistName) 
FROM Artists
WHERE ArtistName = 'Lit';
ログイン後にコピー

それでも同じ結果が得られます:

+--------+
| Result |
+--------+
|      3 |
+--------+
ログイン後にコピー
ログイン後にコピー

ただし、LENGTH() 関数を使用すると、結果は次のようになります。 6.これは、Unicode 文字列は 1 文字あたり 2 バイトを格納し、LENGTH() 関数はバイト単位で測定された長さを返すためです。

関連する推奨事項: 「mysql チュートリアル

以上がMySQL の CHARACTER_LENGTH() 関数の使用法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート