表格格式
tid,name,num1,num2
1,abc,10,9
2,xyz,15,15
结果
1,abc,10,9
SQL Like
select field1,field2,field3 from table1 where field1 > field2
答案 0 :(得分:0)
表中用于这两列的数据类型很可能都是varchar。
所以你不是在比较数字 数字10大于9,但字符串“10”不大于“9”。
您可以更改表格并将其更改为数字类型。
或者在WHERE子句中将它们转换为数字类型,然后再进行比较。
例如:
select *
from table1
where cast(field1 as SIGNED) > cast(field2 as SIGNED)
表类型被更改的示例
drop table if exists table1;
create table table1 (id int, name varchar(30), field1 varchar(8), field2 varchar(8));
insert into table1 (id,name,field1,field2) values
(1,'abc',10,9),
(2,'xyz',15,15);
select *
from table1
where field1 <= field2;
alter table table1
modify field1 INT SIGNED,
modify field2 INT SIGNED;
select *
from table1
where field1 > field2;