sql-获取两列的最新日期
我想知道这两个的最新日期sql-获取两列的最新日期,sql,sql-server-2008,datetime,compare,Sql,Sql Server 2008,Datetime,Compare,我想知道这两个的最新日期 table1 - date1 datetime not null - date2 nvarchar null 请注意,date2可以是null。在这种情况下,date1获胜。将CAST(date2作为DateTime)更改为CAST(isnull(date2,'01/01/1900')作为DateTime)这是一个非常好的解决方案,但我认为更好 select date1, date2, (CASE WHEN date1 > CAST(date2
table1
- date1 datetime not null
- date2 nvarchar null
请注意,date2可以是
null
。在这种情况下,date1获胜。将CAST(date2作为DateTime)
更改为CAST(isnull(date2,'01/01/1900')作为DateTime)
这是一个非常好的解决方案,但我认为更好
select date1, date2,
(CASE WHEN date1 > CAST(date2 as DateTime) THEN date1 ELSE date2 END) as DateTime) as LatestDate
from table1
如何在更新查询中使用它?更新将把栅格值放在新列中。
SELECT date1, date2,
CASE
WHEN date1 > CAST(ISNULL(date2,'1900-01-01') as DateTime) THEN
date1
ELSE
CAST(date2 as DateTime)
END as LatestDate
FROM table1