Rumah > Artikel > pangkalan data > Adakah fungsi MySQL BIT_LENGTH() multibait selamat?
Sama seperti fungsi LENGTH(), fungsi MySQL BIT_LENGTH() bukan fungsi selamat berbilang bait. Seperti yang kita ketahui bahawa perbezaan hasil antara fungsi selamat berbilang bait, seperti CHAR_LENGTH() atau CHARACTER_LENGTH(), dan BIT_LENGTH() fungsi sangat berkaitan untuk Unicode, di mana kebanyakan aksara dikodkan dalam dua bait atau berkaitan untuk UTF -8 di mana bilangan bait berbeza-beza. Ia ditunjukkan dalam contoh di bawah −
mysql> Select BIT_LENGTH('tutorialspoint'); +------------------------------+ | BIT_LENGTH('tutorialspoint') | +------------------------------+ | 112 | +------------------------------+ 1 row in set (0.00 sec)
Set hasil di atas menunjukkan bahawa panjang bit rentetan 'tutorialspoint' ialah 112 kerana ia belum ditukar kepada aksara Unicode. Pertanyaan berikut menukarnya kepada aksara Unicode −
mysql> SET @A = CONVERT('tutorialspoint' USING ucs2); Query OK, 0 rows affected (0.02 sec)
在将字符串转换为Unicode后,结果为224而不是112,因为在中中中中中中中中文个字节,如下所示 −
mysql> Select BIT_LENGTH(@A); +----------------+ | BIT_LENGTH(@A) | +----------------+ | 224 | +----------------+ 1 row in set (0.00 sec)
Atas ialah kandungan terperinci Adakah fungsi MySQL BIT_LENGTH() multibait selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!