Trong MariaDB, BIT_LENGTH()
là một hàm chuỗi được tích hợp sẵn trả về độ dài của đối số chuỗi đã cho tính bằng bit.
Bạn cung cấp chuỗi làm đối số khi bạn gọi hàm.
Cú pháp
Cú pháp như sau:
BIT_LENGTH(str)
Ở đâu str
là chuỗi.
Ví dụ
Đây là một ví dụ đơn giản:
SELECT BIT_LENGTH('A');
Kết quả:
+-----------------+ | BIT_LENGTH('A') | +-----------------+ | 8 | +-----------------+
Chúng ta có thể thấy rằng chữ A dài 8 bit (tức là 1 byte).
Dưới đây là một ví dụ sử dụng các ký tự dài hơn 1 byte:
SELECT
BIT_LENGTH('©'),
BIT_LENGTH('ไ'),
BIT_LENGTH('ม้');
Kết quả:
+------------------+-------------------+----------------------+ | BIT_LENGTH('©') | BIT_LENGTH('ไ') | BIT_LENGTH('ม้') | +------------------+-------------------+----------------------+ | 16 | 24 | 48 | +------------------+-------------------+----------------------+
Chuỗi thứ hai và thứ ba là ký tự Thái Lan. Chuỗi thứ ba sử dụng một dấu phụ, kết thúc bằng cách tăng gấp đôi số bit được trả về.
Đây là ký tự có và không có dấu phụ:
SELECT
BIT_LENGTH('ม้'),
BIT_LENGTH('ม');
Kết quả:
+----------------------+-------------------+ | BIT_LENGTH('ม้') | BIT_LENGTH('ม') | +----------------------+-------------------+ | 48 | 24 | +----------------------+-------------------+
Loại đối số sai
Nếu đối số không phải là một chuỗi, nó sẽ được chuyển đổi thành chuỗi.
Ví dụ:
SELECT
BIT_LENGTH(1),
BIT_LENGTH(12),
BIT_LENGTH(123);
Kết quả:
+---------------+----------------+-----------------+ | BIT_LENGTH(1) | BIT_LENGTH(12) | BIT_LENGTH(123) | +---------------+----------------+-----------------+ | 8 | 16 | 24 | +---------------+----------------+-----------------+
Đối số rỗng
Chuyển null
trả về null
:
SELECT BIT_LENGTH(null);
Kết quả:
+------------------+ | BIT_LENGTH(null) | +------------------+ | NULL | +------------------+
Thiếu đối số
Đang gọi BIT_LENGTH()
mà không chuyển đối số dẫn đến lỗi:
SELECT BIT_LENGTH();
Kết quả:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'BIT_LENGTH'