sql - получить последнюю дату из двух столбцов - PullRequest
0 голосов
/ 27 мая 2010
table1
    - date1 datetime not null
    - date2 nvarchar null

Я хочу получить самую последнюю дату из этих двух.

select date1, date2, 
(CASE WHEN date1 > CAST(date2 as DateTime) THEN date1 ELSE date2 END) as DateTime) as LatestDate
from table1

обратите внимание, что date2 может быть null. в этом случае выигрыш date1.

Ответы [ 3 ]

1 голос
/ 27 мая 2010

изменить CAST(date2 as DateTime) на CAST(isnull(date2,'01/01/1900') as DateTime)

1 голос
/ 27 мая 2010
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
0 голосов
/ 27 мая 2010

Это очень хорошее решение, но я подозреваю, Решение Натана лучше.

http://p2p.wrox.com/oracle/6592-calculate-de-max-value-two-columns.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...