Vous pouvez simplement additionner les deux.
- si la
Time part
de votreDate part
colonne est toujours zéro - et la partie
Date part
de votreTime
la colonne est aussi toujours zéro (date de base :1er janvier 1900)
Leur ajout renvoie le résultat correct.
SELECT Combined = MyDate + MyTime FROM MyTable
Justification (félicitations à ErikE/dnolan)
Cela fonctionne comme ceci en raison de la façon dont la date est stockée sous la forme de deux
Integers
de 4 octets les 4 octets de gauche étant ladate
et les 4 octets de droite étant letime
. C'est comme faire$0001 0000 + $0000 0001 = $0001 0001
Modification concernant les nouveaux types SQL Server 2008
Date part
et Time
sont des types introduits dans SQL Server 2008
. Si vous insistez pour ajouter, vous pouvez utiliser Combined = CAST(MyDate AS DATETIME) + CAST(MyTime AS DATETIME)
Edit2 concernant la perte de précision dans SQL Server 2008 et versions ultérieures (félicitations à Martin Smith)
Jetez un oeil à Comment combiner la date et l'heure à datetime2 dans SQL Server ? pour éviter toute perte de précision avec SQL Server 2008 et versions ultérieures.