我有一個用戶定義的函數,我想要做一個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