我有一个带有多个日期字段的表。我需要获取一个派生字段,该字段是3个特定字段的最早日期。我必须为4个不同的日期集执行此操作。
答案 0 :(得分:1)
一种简单的方法是使用case
表达式:
select case when Date1 > Date2 and Date1 > Date3 then
Date1
when Date2 > Date3 and Date2 > Date1 then
Date2
else
Date3
end As TheDate
from tableName
尽管这很简单,但是如果您有更多的列,它往往会变得非常麻烦。另一种选择是使用values
子句,如下所示:
select (
select max(date)
from (values (date1, date2, date3))v(date)
)
from tableName
这也使您能够轻松获得最小值。