Apakah perbezaan antara fungsi MySQL LENGTH() dan CHAR_LENGTH()?

WBOY
Lepaskan: 2023-09-02 16:57:07
ke hadapan
1154 orang telah melayarinya

MySQL LENGTH() 和 CHAR_LENGTH() 函数有什么区别?

Kedua-dua fungsi ini ialah fungsi rentetan dan mengembalikan bilangan aksara yang terdapat dalam rentetan. Tetapi mereka berbeza kerana fungsi CHAR_LENGTH() mengukur panjang rentetan dalam "aksara" manakala fungsi LENGTH() mengukur panjang rentetan dalam "bait". Dalam erti kata lain, kita boleh mengatakan bahawa fungsi CHAR_LENGTH() adalah selamat berbilang bait, iaitu ia mengabaikan sama ada aksara adalah bait tunggal atau berbilang bait. Contohnya, jika rentetan mengandungi empat aksara 2-bait, LENGTH().

Fungsi ini akan mengembalikan 8, manakala fungsi CHAR_LENGTH() akan mengembalikan 4. Dalam pengertian ini, kita boleh mengatakan bahawa CHAR_LENGTH() memberikan hasil yang lebih tepat daripada fungsi LENGTH().

Perbezaan ini amat berkaitan dengan Unicode, di mana kebanyakan aksara dikodkan dalam dua bait, atau kepada UTF-8, di mana bilangan bait berbeza-beza. Contoh di bawah menunjukkan -

Contoh

Dalam contoh di bawah, pertama, rentetan 'Gaurav' ditukar kepada ucs2 strong>, iaitu set aksara Unicode, 2-bait. Kemudian kita boleh melihat perbezaan dalam set hasil, iaitu LENGTH() mengembalikan panjang dalam bait, manakala CHAR_LENGTH() mengembalikan panjang dalam aksara.

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

mysql> Select Char_length(@A), LENGTH(@A);

+-----------------+------------+
| Char_length(@A) | LENGTH(@A) |
+-----------------+------------+
| 6               | 12         |
+-----------------+------------+

1 row in set (0.03 sec)
Salin selepas log masuk

Kini, dalam contoh di bawah, kami menggunakan aksara khas dalam UTF-8, bilangan bait dalam set aksara berbeza-beza. Kita kemudian boleh melihat perbezaan dari set keputusan.

rreeee

Atas ialah kandungan terperinci Apakah perbezaan antara fungsi MySQL LENGTH() dan CHAR_LENGTH()?. 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