Where子句不返回任何MySQL

时间:2014-09-10 12:09:03

标签: mysql sql

我有一个包含所有名称的数据表。当我这样做时,该表只有一个cloumn“name”(varchar)

select * from name

它将返回所有行

当我做的时候

select * from name where name="(a name which is in the database)"

什么都不会回来(我已经尝试过表中的很多名字)。当我做的时候

select * from name where length(name)>0;

它将再次返回所有行。

有什么不对?

我试过SELECT name, length(name), MD5(name) FROM name,长度重新设置一个大于字符串长度的数字。我试图在前面放一个空格,然后尝试用一个空格,这些都没有帮助。

1 个答案:

答案 0 :(得分:1)

我敢打赌你的字符串中有空格,换行符或回车符等隐形字符。

试试这个:

select * from name where replace(replace(trim(name), '\r', ''), '\n', '') = 'your_name';

如果这会产生结果,您应该更新表格以删除这些字符。