MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Cách OCTET_LENGTH () hoạt động trong MariaDB

Trong MariaDB, OCTET_LENGTH() là một hàm chuỗi tích hợp trả về độ dài của đối số chuỗi đã cho, được đo bằng octet (byte).

OCTET_LENGTH() là từ đồng nghĩa với LENGTHB() .

Nó cũng là từ đồng nghĩa với LENGTH() khi không ở chế độ Oracle (LENGTH() hoạt động khác nhau trong chế độ Oracle).

Cú pháp

Cú pháp như sau:

OCTET_LENGTH(str)

Ở đâu str là chuỗi mà độ dài sẽ được trả về.

Ví dụ

Đây là một ví dụ cơ bản:

SELECT OCTET_LENGTH('café');

Kết quả:

+-----------------------+
| OCTET_LENGTH('café')  |
+-----------------------+
|                     5 |
+-----------------------+

Trong trường hợp này, chuỗi dài bốn ký tự nhưng OCTET_LENGTH() trả về 5 . Điều này là do ký tự cuối cùng sử dụng hai octet / byte.

So sánh với CHAR_LENGTH()BIT_LENGTH()

Dưới đây là so sánh nhanh giữa OCTET_LENGTH() , CHAR_LENGTH() (trả về số lượng ký tự trong chuỗi) và BIT_LENGTH() (trả về số lượng bit trong chuỗi):

SELECT 
    OCTET_LENGTH('อ'),
    CHAR_LENGTH('อ'),
    BIT_LENGTH('อ');

Kết quả:

+---------------------+--------------------+-------------------+
| OCTET_LENGTH('อ')   | CHAR_LENGTH('อ')   | BIT_LENGTH('อ')   |
+---------------------+--------------------+-------------------+
|                   3 |                  1 |                24 |
+---------------------+--------------------+-------------------+

Ký tự tiếng Thái này ( ) sử dụng 3 byte và do đó OCTET_LENGTH() trả về 3 .

CHAR_LENGTH() trả về số ký tự (1 ) và BIT_LENGTH() trả về số bit (24 ).

Không phải chuỗi

Nếu đối số không phải là một chuỗi, nó sẽ được chuyển đổi thành một chuỗi.

Dưới đây là một ví dụ khác sử dụng một số:

SELECT OCTET_LENGTH(1234);

Kết quả:

+--------------------+
| OCTET_LENGTH(1234) |
+--------------------+
|                  4 |
+--------------------+

Đối số rỗng

Chuyển null trả về null :

SELECT OCTET_LENGTH(null);

Kết quả:

+--------------------+
| OCTET_LENGTH(null) |
+--------------------+
|               NULL |
+--------------------+

Thiếu đối số

Đang gọi OCTET_LENGTH() mà không chuyển đối số dẫn đến lỗi:

SELECT OCTET_LENGTH();

Kết quả:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'OCTET_LENGTH'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách BIN () hoạt động trong MariaDB

  2. MariaDB LCASE () Giải thích

  3. Cách DATE () hoạt động trong MariaDB

  4. Cách CURDATE () hoạt động trong MariaDB

  5. MariaDB SUBSTR () Giải thích