Bagaimanakah fungsi MySQL LENGTH() mengukur panjang rentetan?

WBOY
Lepaskan: 2023-09-02 16:45:02
ke hadapan
1449 orang telah melayarinya

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan