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

MariaDB CHARACTER_LENGTH () Giải thích

Trong MariaDB, CHARACTER_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 ký tự.

CHARACTER_LENGTH() thực sự là một từ đồng nghĩa với CHAR_LENGTH() , vì vậy bạn có thể sử dụng.

Cú pháp

Cú pháp như sau:

 CHARACTER_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 CHARACTER_LENGTH('Cat'); 

Kết quả:

 + ------------------------- + | CHARACTER_LENGTH ('Mèo') | + ------------------------- + | 3 | + ------------------------- + 

Trong trường hợp này, chuỗi dài ba ký tự và do đó chúng tôi nhận được 3 .

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 CHARACTER_LENGTH(1234); 

Kết quả:

 + ------------------------ + | CHARACTER_LENGTH (1234) | + ------------------------ + | 4 | + ------------------------ + 

So sánh với CHAR_LENGTH()

Như đã đề cập, CHARACTER_LENGTH() là từ đồng nghĩa với CHAR_LENGTH() . Đây là nó so với CHAR_LENGTH() :

 SELECT 
    CHARACTER_LENGTH(1234),
    CHAR_LENGTH(1234); 

Kết quả:

 + ------------------------ + ------------------- + | CHARACTER_LENGTH (1234) | CHAR_LENGTH (1234) | + ------------------------ + ------------------- + | 4 | 4 | + ------------------------ + ------------------- +  

Ký tự nhiều byte

CHARACTER_LENGTH() hàm đếm mỗi ký tự là một ký tự duy nhất, bất kể nó sử dụng bao nhiêu byte. Do đó, các ký tự sử dụng hai, ba hoặc thậm chí bốn byte sẽ vẫn được tính là một ký tự.

Điều này trái ngược với các hàm như LENGTH() , trả về số byte (trừ khi nó ở chế độ Oracle, trong trường hợp đó nó giống như CHARACTER_LENGTH() - trả về số ký tự). Nó cũng trái ngược với các hàm như BIT_LENGTH() trả về số bit trong một chuỗi.

Dưới đây là một ví dụ so sánh các chức năng này:

 SELECT 
    CHARACTER_LENGTH('อ'),
    LENGTH('อ'),
    BIT_LENGTH('อ'); 

Kết quả:

 + ------------------------- + --------------- + ---- --------------- + | CHARACTER_LENGTH ('อ') | CHIỀU DÀI ('อ') | BIT_LENGTH ('อ') | + ------------------------- + --------------- + ------------------- + | 1 | 3 | 24 | + ------------------------- + --------------- + ----- -------------- + 

Ký tự tiếng Thái này ( ) sử dụng 3 byte. CHARACTER_LENGTH() trả về 1, vì nó vẫn chỉ là một ký tự duy nhất. LENGTH()BIT_LENGTH() mặt khác, trả về số byte và số bit tương ứng.

Ví dụ này được thực hiện bằng SQL_MODE mặc định . Như đã đề cập, nếu nó ở chế độ Oracle, LENGTH() sẽ hoạt động giống như CHARACTER_LENGTH() và trả về 1 .

Đối số rỗng

Chuyển null trả về null :

 SELECT CHARACTER_LENGTH(null); 

Kết quả:

 + ------------------------ + | CHARACTER_LENGTH (null) | + ------------------------ + | NULL | + ------------------------ + 

Thiếu đối số

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

 SELECT CHARACTER_LENGTH(); 

Kết quả:

 ERROR 1582 (42000):Số lượng tham số không chính xác trong lệnh gọi hàm gốc 'CHARACTER_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. So sánh các giải pháp chuyển đổi dự phòng DBaaS với thiết lập khôi phục thủ công

  2. Cách triển khai MySQL hoặc MariaDB Galera Cluster sẵn sàng sản xuất bằng ClusterControl

  3. Cách hoạt động của COLLATION () trong MariaDB

  4. MariaDB DAY () Giải thích

  5. Hướng dẫn về Chỉ mục MySQL