MySQL 获取字段长度

学习笔记作者:admin日期:2025-05-29点击:18

摘要:介绍 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) 返回字段值的字符数

上一篇      下一篇