Sql 在WHERE子句中使用IF语句

Sql 在WHERE子句中使用IF语句,sql,pervasive-sql,Sql,Pervasive Sql,我有一个用户定义的函数,我想根据列的大小来选择一个列 例如: Select t.A, t.B From Table t Where if(t.A <= t.B) then use t.A else use t.B 选择 t、 A、t、B 从…起 表t 哪里 如果(t.ANo!但是您可以使用case语句 Select t.A, t.B From Table t Where (case when t.A <= t.B then t.A

我有一个用户定义的函数,我想根据列的大小来选择一个列

例如:

Select
   t.A, t.B
From
  Table t
Where
  if(t.A <= t.B) then
    use t.A
  else
    use t.B
选择
t、 A、t、B
从…起
表t
哪里

如果(t.ANo!但是您可以使用
case
语句

Select
   t.A, t.B
From
   Table t
Where
   (case when t.A <= t.B then t.A ELSE t.B END) = SomeValue
选择
t、 A、t、B
从…起
表t
哪里

(当t.ANo!但您可以使用
case
语句

Select
   t.A, t.B
From
   Table t
Where
   (case when t.A <= t.B then t.A ELSE t.B END) = SomeValue
选择
t、 A、t、B
从…起
表t
哪里

(当t.A似乎是你想要的时候)

SELECT 
  CASE
    WHEN t.A <= t.B
    THEN t.A 
    ELSE t.B 
  END  AS Smaller
FROM Table t
选择
案例

当t.A看起来你想要

SELECT 
  CASE
    WHEN t.A <= t.B
    THEN t.A 
    ELSE t.B 
  END  AS Smaller
FROM Table t
选择
案例
当t.A你真的想要吗

SELECT MIN(t.A, t.B) AS SmallestAOrB FROM Table t
你真的想要吗

SELECT MIN(t.A, t.B) AS SmallestAOrB FROM Table t

你在where-will-do中预期if是什么?在这种情况下,
使用
意味着什么?你在where-will-do中预期if是什么?在这种情况下,
使用
意味着什么?