##就像LENGTH()函數一樣,MySQL BIT_LENGTH()函數不是多位元組安全函數。我們知道,多位元組安全函數(如 CHAR_LENGTH() 或 CHARACTER_LENGTH())與 BIT_LENGTH() 函數之間的結果差異尤其與 Unicode 相關,其中大多數字元都以兩個位元組編碼或與 UTF 相關-8 ,其中位元組數不同。如下例所示 -
Examplemysql> Select BIT_LENGTH('tutorialspoint'); +------------------------------+ | BIT_LENGTH('tutorialspoint') | +------------------------------+ | 112 | +------------------------------+ 1 row in set (0.00 sec)
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中文網其他相關文章!