2010-05-27 5 views
0
table1 
    - date1 datetime not null 
    - date2 nvarchar null 

Je veux obtenir la dernière date de ces deux.sql - obtenir la dernière date de deux colonnes

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

s'il vous plaît noter que date2 peut être null. dans ce cas, date1 gagne.

Répondre

1
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

.. oups 1 ne trouvez pas votre réponse avant après avoir posté le même .. –

+0

Comment puis-je utiliser dans la requête de mise à jour? la mise à jour sera mise la valeur de grille dans une nouvelle colonne. – stacker

+2

@stacker 'mise à jour table1 set newcolumn = CASE .... END' –

1

changement CAST(date2 as DateTime)-CAST(isnull(date2,'01/01/1900') as DateTime)

Questions connexes