Computer >> Máy Tính >  >> Lập trình >> MySQL

Hàm nào là từ đồng nghĩa của hàm MySQL LENGTH ()?


Như chúng ta đã biết, hàm MySQL OCTET_LENGTH () cũng đo độ dài chuỗi bằng ‘byte’ do đó, nó là từ đồng nghĩa của hàm MySQL LENGTH (). Cú pháp của hàm này là OCTET_LENGTH (Str) trong đó Str là một chuỗi có độ dài tính bằng ký tự phải được trả về.

Nó cũng không an toàn với nhiều byte như hàm LENGTH (). Ví dụ:nếu một chuỗi chứa bốn ký tự 2 byte thì hàm OCTET_LENGTH () sẽ trả về 8. Nó được minh họa trong ví dụ bên dưới -

Ví dụ

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

Bộ kết quả trên cho thấy độ dài của chuỗi ‘tutorialspoint’ là 14 vì nó chưa được chuyển đổi sang ký tự Unicode. Truy vấn sau chuyển đổi nó thành ký tự Unicode -

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

Sau khi chuyển đổi chuỗi trong Unicode, nó cho kết quả 28 thay vì 14 vì trong Unicode một ký tự đơn chiếm 2 byte như hình dưới đây -

mysql> Select OCTET_LENGTH(@A);
+------------------+
| OCTET_LENGTH(@A) |
+------------------+
|               28 |
+------------------+
1 row in set (0.00 sec)