检查字段内容是否具有任何价值?

时间:2021-03-24 06:01:58

标签: mysql

我在 mysql 数据库表中有一个 mediumtext 字段。里面没有任何值,仍然显示长度为16000。

它要么是空的,要么是 NULL。仍然,char_lengthlength 函数返回 16000。

我也尝试过使用 TRIM 功能。

SELECT CHAR_LENGTH(TRIM(content)) FROM files_table where CHAR_LENGTH(TRIM(content)) > 0;

在观察实际内容的同时,没有任何价值。甚至不是NULL。

enter image description here

从上图可以看出,里面没有内容。仍然给出了 16000 的结果。

我想检查它的实际内容是否有任何价值。

1 个答案:

答案 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;
相关问题