我在 mysql 数据库表中有一个 mediumtext 字段。里面没有任何值,仍然显示长度为16000。
它要么是空的,要么是 NULL。仍然,char_length
和 length
函数返回 16000。
我也尝试过使用 TRIM 功能。
SELECT CHAR_LENGTH(TRIM(content)) FROM files_table where CHAR_LENGTH(TRIM(content)) > 0;
在观察实际内容的同时,没有任何价值。甚至不是NULL。
从上图可以看出,里面没有内容。仍然给出了 16000 的结果。
我想检查它的实际内容是否有任何价值。
答案 0 :(得分:1)
内容必须是除空白之外的东西。这应该会给你一个线索:
select left(hex(trim(content)), 32)
from files_table
where content is not null and
CHAR_LENGTH(TRIM(content)) > 0;
Op 提供了十六进制编码的值,结果字段填充了 0x00 字节:
SELECT CHAR_LENGTH(TRIM(replace(content, 0x00, '')))
FROM files_table
where CHAR_LENGTH(TRIM(replace(content, 0x00, ''))) > 0;