gpt4 book ai didi

mysql - 如何在 SQL Where 条件操作符(> 或 <)中检查 1 个表列

转载 作者:行者123 更新时间:2023-11-29 18:54:00 25 4
gpt4 key购买 nike

表格格式

tid,name,num1,num2
1,abc,10,9
2,xyz,15,15

结果

1,abc,10,9

类似 SQL

select field1,field2,field3 from table1 where field1 > field2

最佳答案

表中这两列使用的数据类型很可能都是 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;

关于mysql - 如何在 SQL Where 条件操作符(> 或 <)中检查 1 个表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44248959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com