Se"/> Se">

Rumah >pangkalan data >tutorial mysql >Bagaimanakah fungsi MySQL LENGTH() mengukur panjang rentetan?

Bagaimanakah fungsi MySQL LENGTH() mengukur panjang rentetan?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBke hadapan
2023-09-02 16:45:021530semak imbas

MySQL LENGTH() 函数如何测量字符串长度?

Fungsi MySQL LENGTH() mengukur panjang rentetan dalam "bait", yang bermaksud ia tidak selamat berbilangbait. Perbezaan hasil antara fungsi selamat berbilangbait seperti CHAR_LENGTH() atau CHARACTER_LENGTH() dan fungsi LENGTH() amat berkaitan dengan Unicode, di mana kebanyakan aksara dikodkan dalam dua bait atau kepada UTF-8, Bilangan bait berbeza-beza. . Sebagai contoh, jika rentetan mengandungi empat aksara 2-bait, fungsi LENGTH() mengembalikan 8 dan fungsi CHAR_LENGTH() atau CHARACTER_LENGTH() mengembalikan 4. Seperti yang ditunjukkan dalam contoh di bawah -

Contoh

mysql> Select LENGTH('tutorialspoint');
+--------------------------+
| LENGTH('tutorialspoint') |
+--------------------------+
|                       14 |
+--------------------------+
1 row in set (0.00 sec)

Hasil yang ditetapkan di atas menunjukkan bahawa panjang rentetan "tutorialspoint" ialah 14 kerana ia belum ditukar kepada aksara Unikod. Pertanyaan berikut menukarnya kepada aksara Unicode -

mysql> SET @A = CONVERT('tutorialspoint' USING ucs2);
Query OK, 0 rows affected (0.02 sec)

Selepas menukar rentetan kepada Unicode, hasilnya ialah 28 berbanding 14 kerana dalam Unicode satu aksara mengambil 2 bait seperti yang ditunjukkan di bawah -

mysql> Select LENGTH(@A);
+------------+
| LENGTH(@A) |
+------------+
|         28 |
+------------+
1 row in set (0.00 sec)

Tetapi CHAR_LENGTH() Keputusan yang diberikan ialah 14 kerana ia adalah fungsi selamat berbilangbait seperti yang ditunjukkan di bawah -

mysql> Select CHAR_LENGTH(@A);
+-----------------+
| CHAR_LENGTH(@A) |
+-----------------+
|              14 |
+-----------------+
1 row in set (0.00 sec)

Atas ialah kandungan terperinci Bagaimanakah fungsi MySQL LENGTH() mengukur panjang rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam