当我输入:
select * from 'saleslog' where 'Status' = 'Pending';
或
select * from 'saleslog' where 'Status' = "Pending";
或
select * from saleslog where Status = 'Pending';
尽管有数百行"待定"状态列中的值我只显示3条记录。当我寻找" Pending"。
以外的价值时,也会发生同样的情况但是,如果我输入:
select * from saleslog where status like "%Pending%";
然后显示大多数(如果不是全部)记录。 Pending值前后绝对没有空格或任何其他字符。
我想知道表" saleslog"需要修理,如果需要,如何修理?我是SQL的新手。
答案 0 :(得分:4)
您可能无法看到字段中隐藏的字符,例如制表符,回车符或换行符。您是否尝试对该字段进行更新以尝试更正它?也许尝试运行下面的更新查询,然后再次运行SELECT
查询:
UPDATE saleslog SET status = 'Pending' WHERE status LIKE '%Pending%'
答案 1 :(得分:1)
尝试以下方法:
UPDATE `saleslog` SET `status` = TRIM(`status`);
SELECT * FROM `saleslog` WHERE `status` = 'Pending';