Jef*_*Jak 5 sql sql-server datetime
这感觉应该是一个简单的.如何获取不同列中最新的3个日期
DROP TABLE #dates
CREATE TABLE #dates (mykey CHAR(10), date1 DATETIME, date2 DATETIME, date3 DATETIME)
INSERT #dates VALUES ('Key1', '1/1/2015', '2/1/2015', '3/1/2105')
INSERT #dates VALUES ('Key2', '1/2/2015', '4/2/2015', '3/2/2105')
INSERT #dates VALUES ('Key3', '1/3/2016', '4/3/2015', '3/3/2105')
select mykey, ?? AS 'Latest Date' from #dates
Run Code Online (Sandbox Code Playgroud)
我希望结果如下:
mykey Latest Date
Key1 2105-03-01 00:00:00.000
Key2 2015-04-02 00:00:00.000
Key3 2016-01-03 00:00:00.000
Run Code Online (Sandbox Code Playgroud)
可能是SQL Server中最简单的方法cross apply:
select d.*, m.maxdate
from #dates d cross apply
(select max(dte) as maxdate
from (values (date1), (date2), (date3)) as v(dte)
) m;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |