MySQL 获取字段长度
学习笔记作者:admin日期:2025-05-29点击:170
摘要:介绍 MySQL 中如何使用 LENGTH() 和 CHAR_LENGTH() 函数获取字段数据的字节长度和字符数量,并提供示例和注意事项。
MySQL 获取字段长度
      在 MySQL 中,如果你想获取某个字段(列)中存储的数据长度,可以使用 LENGTH() 或 CHAR_LENGTH() 函数,具体取决于你想要的是字节长度还是字符长度。
1. LENGTH(str)
- 返回字符串 str的字节长度。
- 对于多字节字符集(如 UTF-8),一个字符可能占用多个字节。
SELECT LENGTH('你好') AS byte_length;
      如果是 UTF-8 编码,'你' 和 '好' 各占 3 字节,结果为 6。
2. CHAR_LENGTH(str)
- 返回字符串 str的字符数量,即包含多少个字符。
SELECT CHAR_LENGTH('你好') AS char_count;
      结果为 2,因为有两个汉字字符。
3. 获取表中某字段的数据长度
      假设你有一个表 users,其中有个字段 username:
CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(100)
);
你想查看每个用户名的字节长度和字符长度:
SELECT 
    username,
    LENGTH(username) AS byte_length,
    CHAR_LENGTH(username) AS char_length
FROM users;
4. 注意事项
- 如果字段允许为 NULL,你需要处理NULL值,否则函数返回NULL。
SELECT 
    IFNULL(LENGTH(username), 0) AS byte_length
FROM users;
总结
| 函数 | 描述 | 
|---|---|
| LENGTH(column) | 返回字段值的字节长度 | 
| CHAR_LENGTH(column) | 返回字段值的字符数 |