我有一个用户定义的功能,我想做一个选择,并根据它是否比另一个更大或更小来选择一个列。
例如:
Select
t.A, t.B
From
Table t
Where
if(t.A <= t.B) then
use t.A
else
use t.B
这可能吗?提前谢谢!
答案 0 :(得分:2)
好像你想要
SELECT
CASE
WHEN t.A <= t.B
THEN t.A
ELSE t.B
END AS Smaller
FROM Table t
答案 1 :(得分:1)
没有!但您可以使用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显示在9.x版本中添加了case语句?
答案 2 :(得分:1)
你真的想要吗?
SELECT MIN(t.A, t.B) AS SmallestAOrB FROM Table t