sho*_*ton -1 sql t-sql sql-server
我有一个包含几个日期字段的表。我需要获取一个派生字段,它是 3 个特定字段中最早的日期。我必须为 4 个不同的日期集执行此操作。
一种简单的方法是使用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
Run Code Online (Sandbox Code Playgroud)
虽然这很简单,但如果您有更多列,它往往会很快变得非常麻烦。另一种选择是使用该values子句,如下所示:
select (
select max(date)
from (values (date1), (date2), (date3))v(date)
)
from tableName
Run Code Online (Sandbox Code Playgroud)
这也使您能够轻松获得最小值。
| 归档时间: |
|
| 查看次数: |
7818 次 |
| 最近记录: |