Mysql Where子句不返回任何内容
我有一个包含所有名称的数据表。当我这样做的时候,这个表只有一个cloumn name varcharMysql Where子句不返回任何内容,mysql,sql,Mysql,Sql,我有一个包含所有名称的数据表。当我这样做的时候,这个表只有一个cloumn name varchar select * from name where name="(a name which is in the database)" 从名称中选择* 它将返回所有行 当我这么做的时候 select * from name where name="(a name which is in the database)" 什么都不会有回报,我试过很多名字,但都在表中。当我这样做的时候 select *
select * from name where name="(a name which is in the database)"
从名称中选择*
它将返回所有行
当我这么做的时候
select * from name where name="(a name which is in the database)"
什么都不会有回报,我试过很多名字,但都在表中。当我这样做的时候
select * from name where length(name)>0;
它将再次返回所有行
有什么不对劲
我尝试从name中选择name、lengthname、MD5name,其长度比字符串长度大一个数字。我尝试在前面加一个空格,然后在后面加一个空格,这两种方法都不管用。我打赌字符串中有空格、换行符或回车等不可见字符 试试这个:
select * from name where replace(replace(trim(name), '\r', ''), '\n', '') = 'your_name';
如果这会产生结果,您应该更新表格以删除这些字符。请告诉表格结构。是否有输入错误?空格或其他字符?@X.L.Ant:不是这样的,字符串是一个字节或字符序列,用单引号“’”或双引号“括起来。您能用您尝试过的名称给出您的查询吗?如果您运行以下操作,您能给我们一个示例行:选择名称、长度名称、MD5name FROM名称吗?这将帮助我们确保您的文本在表中与您看到的完全一致,并且填充时没有空格或空字符。您的外部替换缺少一个参数:replaceTrimName、'\r'、'\n'-HERE-、-/HERE-@scragar谢谢,修复了它。谢谢,字符串中有一个不可见的/n或/r: