0

MySQL開発サイトにあるように-

BIT_LENGTH(文字列) -

文字列 str の長さをビット単位で返します。

長さ(文字列) -

文字列 str の長さをバイト単位で返します。マルチバイト文字は複数バイトとしてカウントされます。

いくつかのサンプル結果 -

SELECT BIT_LENGTH(_utf8mb4 "Hello") AS output;
+--------+
| output |
+--------+
|     40 |
+--------+

SELECT LENGTH(_utf8mb4 "Hello") AS output;
+--------+
| output |
+--------+
|      5 |
+--------+

したがって、最初の結果はビット単位で、2 番目はバイト単位で、8 ビット = 1 バイトです。

したがって、result1 = 8 * result2;

また、

SELECT BIT_LENGTH(_ucs2 "Hello") AS output;
+--------+
| output |
+--------+
|     48 |
+--------+

SELECT LENGTH(_ucs2 "Hello") AS output;
+--------+
| output |
+--------+
|      6 |
+--------+

ここでも、result1 = 8 * result2;

したがって、2 つの関数の違いは単純に、BIT_LENGTH(str) は結果をビット単位で返し、LENGTH(str) は結果をバイト単位で返すことです。

またはそれ以上の違いはありますか?

4

0 に答える 0