表格式如何檢查1分表列在SQL Where條件運算符(>或<)
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
表格式如何檢查1分表列在SQL Where條件運算符(>或<)
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;
我嘗試和更改int數據類型但沒有得到實際輸出。 –
好吧我運行sql腳本。 –
謝謝你的工作。 –
歡迎堆棧溢出的一個例子。我們知道的事情 - 但不清楚你的實際問題是什麼。你能提供更多細節嗎? Wher'y表名? – Jan
謝謝您的支持,實際上我想檢查兩個表字段之間的sql條件,如「選擇id,名稱,no,no1從表no其中no> no1」 –
看起來不錯 - 問題在哪裏? – Jan