select * from tba where 价格1>价格2create table #temp( A varchar(10), B varchar(10), C varchar(10), D varchar(10) ); insert into #temp values('k1','m1',10,9); insert into #temp values('k1','m1',20,9); insert into #temp values('k1','m1',10,19); insert into #temp values('k1','m1',20,19);select * from #temp where c>D;结果:A B C D k1 m1 20 19
SQL> with T AS ( 2 select 'k1' AS A,'m1' AS B,10 AS C,9 AS D FROM DUAL 3 UNION ALL SELECT 'k1','m1',20,9 FROM DUAL 4 UNION ALL SELECT 'k1','m1',10,19 FROM DUAL 5 UNION ALL SELECT 'k1','m1',20,19 FROM DUAL) 6 SELECT * FROM T WHERE C>D;A B C D -- -- ---------- ---------- k1 m1 10 9 k1 m1 20 9 k1 m1 20 19SQL> 语句没错啊,你自己去试试吧
select * from tba where 价格1>价格2create table #temp( A varchar(10), B varchar(10), C varchar(10), D varchar(10) ); insert into #temp values('k1','m1',10,9); insert into #temp values('k1','m1',20,9); insert into #temp values('k1','m1',10,19); insert into #temp values('k1','m1',20,19);select * from #temp where c>D;结果:A B C D k1 m1 20 19数据类型搞错了, 把 C 和 D 列改成 int 型。 varchar 是按字符串比较的。
A varchar(10),
B varchar(10),
C varchar(10),
D varchar(10)
);
insert into #temp values('k1','m1',10,9);
insert into #temp values('k1','m1',20,9);
insert into #temp values('k1','m1',10,19);
insert into #temp values('k1','m1',20,19);select * from #temp where c>D;结果:A B C D
k1 m1 20 19
2 select 'k1' AS A,'m1' AS B,10 AS C,9 AS D FROM DUAL
3 UNION ALL SELECT 'k1','m1',20,9 FROM DUAL
4 UNION ALL SELECT 'k1','m1',10,19 FROM DUAL
5 UNION ALL SELECT 'k1','m1',20,19 FROM DUAL)
6 SELECT * FROM T WHERE C>D;A B C D
-- -- ---------- ----------
k1 m1 10 9
k1 m1 20 9
k1 m1 20 19SQL>
语句没错啊,你自己去试试吧
版主,帮我看下,我这没有oracle环境,只有MSSQL,查出来的结果怎么是这样啊?
额MSSQL啊 好吧 我明天到公司用oracle在试下
额MSSQL啊 好吧 我明天到公司用oracle在试下
就算是MSSQL也不至于是这样的结果啊,不会你设置了只显示一条结果,导致其他结果没显示出来吧, 你在检查一下
A varchar(10),
B varchar(10),
C varchar(10),
D varchar(10)
);
insert into #temp values('k1','m1',10,9);
insert into #temp values('k1','m1',20,9);
insert into #temp values('k1','m1',10,19);
insert into #temp values('k1','m1',20,19);select * from #temp where c>D;结果:A B C D
k1 m1 20 19数据类型搞错了, 把 C 和 D 列改成 int 型。 varchar 是按字符串比较的。