Trong SQL Server, bạn có thể sử dụng LEN()
hàm để trả về số ký tự trong một chuỗi. Đây là một hàm Transact-SQL cũng có thể được sử dụng trong cơ sở dữ liệu Azure.
Trong MySQL, bạn cần sử dụng CHAR_LENGTH()
chức năng.
Ví dụ
Dưới đây là một ví dụ về từng loại.
Máy chủ SQL (T-SQL)
SELECT LEN('Cat') AS 'T-SQL';
Kết quả:
T-SQL ----- 3
MySQL
SELECT CHAR_LENGTH('Cat') AS MySQL;
Kết quả:
+-------+ | MySQL | +-------+ | 3 | +-------+
Hãy coi chừng những khoảng trống sau!
Một điểm khác biệt giữa các hàm này là cách chúng xử lý các khoảng trống ở cuối (ví dụ:khoảng trắng ở cuối chuỗi). LEN()
của T-SQL chức năng loại trừ khoảng trống ở cuối, trong khi CHAR_LENGTH()
của MySQL chức năng bao gồm họ.
Vì vậy, nếu chúng ta thêm các khoảng trống ở cuối vào các ví dụ trước, chúng ta sẽ nhận được như sau.
Máy chủ SQL (T-SQL)
SELECT LEN('Cat') AS 'T-SQL';
Kết quả:
T-SQL ----- 3
MySQL
SELECT CHAR_LENGTH('Cat') AS MySQL;
Kết quả:
+-------+ | MySQL | +-------+ | 4 | +-------+
Nếu bạn cần loại trừ các khoảng trống ở cuối trong MySQL, bạn sẽ cần bọc chuỗi trong một TRIM()
hàm số. Như thế này:
SELECT CHAR_LENGTH(TRIM('Cat ')) AS 'MySQL with TRIM';
Kết quả:
+-----------------+ | MySQL with TRIM | +-----------------+ | 3 | +-----------------+
Nhưng đừng lo lắng về những khoảng trống dẫn đầu!
Cả LEN()
của T-SQL hàm và CHAR_LENGTH()
của MySQL chức năng bao gồm khoảng trống hàng đầu.
Máy chủ SQL (T-SQL)
SELECT LEN('Cat') AS 'T-SQL';
Kết quả:
T-SQL ----- 4
MySQL
SELECT CHAR_LENGTH(' Cat') AS 'MySQL';
Kết quả:
+-------+ | MySQL | +-------+ | 4 | +-------+