我們知道,MySQL的OCTET_LENGTH()函數也是以「位元組」為單位來衡量字串長度的,因此它是MySQL LENGTH()函數的同義詞。此函數的語法是OCTET_LENGTH(Str),其中Str是要傳回字元長度的字串。
它也不像LENGTH()函數那樣支援多位元組安全性。例如,如果一個字串包含四個2位元組的字符,那麼OCTET_LENGTH()函數將會傳回8。在下面的範例中進行了示範−
mysql> Select OCTET_LENGTH('tutorialspoint'); +--------------------------------+ | OCTET_LENGTH('tutorialspoint') | +--------------------------------+ | 14 | +--------------------------------+ 1 row in set (0.00 sec)
上述結果集顯示字串「tutorialspoint」的長度為14,因為它尚未轉換為Unicode字元。以下查詢將其轉換為Unicode字元−
mysql> SET @A = CONVERT('tutorialspoint' USING ucs2); Query OK, 0 rows affected (0.02 sec)
將字串轉換為Unicode後,結果為28而不是14,因為在Unicode中,一個字元佔用2個位元組,如下所示−
mysql> Select OCTET_LENGTH(@A); +------------------+ | OCTET_LENGTH(@A) | +------------------+ | 28 | +------------------+ 1 row in set (0.00 sec)
以上是MySQL LENGTH()函數的同義函數是哪一個?的詳細內容。更多資訊請關注PHP中文網其他相關文章!