我有一个用户定义的函数,我想要做一个select并根据它是否大于或小于另一个来选择一个列。在WHERE子句中使用IF语句
例如:
Select
t.A, t.B
From
Table t
Where
if(t.A <= t.B) then
use t.A
else
use t.B
这可能吗?提前致谢!
我有一个用户定义的函数,我想要做一个select并根据它是否大于或小于另一个来选择一个列。在WHERE子句中使用IF语句
例如:
Select
t.A, t.B
From
Table t
Where
if(t.A <= t.B) then
use t.A
else
use t.B
这可能吗?提前致谢!
好像你要
SELECT
CASE
WHEN t.A <= t.B
THEN t.A
ELSE t.B
END AS Smaller
FROM Table t
不!但是你可以使用一个case
声明
Select
t.A, t.B
From
Table t
Where
(case when t.A <= t.B then t.A ELSE t.B END) = SomeValue
,或者更小的列在select语句,只需要那么
Select
(case when t.A <= t.B then t.A ELSE t.B END) as column
From
Table t
注意 我以前没有使用SQL普遍,但快速googlez显示case语句是在9.x版本中添加的?
你真的想要?
SELECT MIN(t.A, t.B) AS SmallestAOrB FROM Table t
什么是你预期如果在哪里会做?在这种情况下,“使用”是什么意思? – Jodrell