Rumah  >  Artikel  >  pangkalan data  >  Apakah perbezaan antara fungsi MySQL LENGTH() dan CHAR_LENGTH()?

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

WBOY
WBOYke hadapan
2023-09-02 16:57:071159semak imbas

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)

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!

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