首頁  >  文章  >  資料庫  >  MySQL BIT_LENGTH() 函數是否是多位元組安全的?

MySQL BIT_LENGTH() 函數是否是多位元組安全的?

WBOY
WBOY轉載
2023-09-16 20:21:06823瀏覽

MySQL BIT_LENGTH() 函数是否是多字节安全的?

##就像LENGTH()函數一樣,MySQL BIT_LENGTH()函數不是多位元組安全函數。我們知道,多位元組安全函數(如 CHAR_LENGTH() 或 CHARACTER_LENGTH())與 BIT_LENGTH() 函數之間的結果差異尤其與 Unicode 相關,其中大多數字元都以兩個位元組編碼或與 UTF 相關-8 ,其中位元組數不同。如下例所示 -

Example

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

上面的結果集顯示字串「tutorialspoint」的位元長度為 112,因為它尚未轉換為 Unicode 字元。下面的查詢將其轉換為Unicode字元-

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

在將字串轉換為Unicode後,結果為224而不是112,因為在Unicode中,一個字元佔用2個位元組,如下所示-

rree

#

以上是MySQL BIT_LENGTH() 函數是否是多位元組安全的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除