[英]SELECT * FROM WHERE does not find all records
当我输入:
select * from 'saleslog' where 'Status' = 'Pending';
要么
select * from 'saleslog' where 'Status' = "Pending";
要么
select * from saleslog where Status = 'Pending';
尽管事实上在“状态”列中有数百行具有“待定”值的行,但我只显示了3条记录。 当我寻找“待定”以外的价值时,也会发生同样的情况。
但是,如果输入:
select * from saleslog where status like "%Pending%";
然后显示大多数(如果不是全部)记录。 Pending值的前后绝对没有空格或任何其他字符。
我想知道是否需要修复表“ saleslog”,如果需要,如何解决? 我是SQL的新手。
您可能看不见的字段中有一些隐藏的字符,例如制表符,回车符或换行符。 您是否尝试过在现场进行更新以尝试更正? 也许尝试运行以下更新查询,然后再次运行SELECT
查询:
UPDATE saleslog SET status = 'Pending' WHERE status LIKE '%Pending%'
请尝试以下操作:
UPDATE `saleslog` SET `status` = TRIM(`status`);
SELECT * FROM `saleslog` WHERE `status` = 'Pending';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.