Hàm CHAR_LENGTH trong MySQL là hàm trả về độ dài của 1 chuỗi (số ký tự trong chuỗi đó), kể cả khoảng trắng, hàm này còn được gọi là hàm đếm số ký tự.
Hàm CHARACTER_LENGTH là tên gọi khác của hàm CHAR_LENGTH
Hàm LENGTH trả về độ dài của 1 chuỗi theo byte
Cú pháp
CHAR_LENGTH(str) LENGTH(str)
Trong đó str là chuỗi. Với 1 ký tự có 2 byte hàm CHAR_LENGTH trả về kết quả là 1, trong khi đó hàm LENGTH trả về kết quả là 2.
Ví dụ
SET @quatao:='사과';
SELECT LENGTH(@quatao); -- kết quả 6
SELECT CHAR_LENGTH(@quatao); -- kết quả 2
Nếu chuỗi là NULL nó sẽ trả về kết quả là NULL. Nếu giá trị truyền vào không phải là chuỗi thì nó sẽ được đổi sang định dạng chuỗi.
SELECT CHAR_LENGTH(NULL); -- kết quả NULL
SELECT CHAR_LENGTH(''); -- kết quả 0
SELECT CHAR_LENGTH(000042) -- kết quả 2, khi đổi số sang chuỗi là '42'
SELECT CHAR_LENGTH(4260) -- kết quả 4, khi đổi số sang chuỗi là '4260'
SELECT CHAR_LENGTH('xehanoi.info '); -- kết quả 15
Để sử dụng hàm CHAR_LENGTH giống như hàm LEN ở trong SQL SERVER (hàm trả về ký tự trong chuỗi, không tính khoảng trắng ở bên phải) ta dùng cú pháp như sau:
SELECT CHAR_LENGTH(RTRIM('xehanoi.info ')); -- kết quả 12
Bài viết dựa trên MySQL Document và chạy trên MySQL 8.0.26 và MariaDB 10.2. Mong được các bạn đóng góp ý kiến để website ngày càng phát triển.