Vous pouvez simplement additionner les deux.
- si la
Time partde votreDate partcolonne est toujours zéro - et la partie
Date partde votreTimela 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
Integersde 4 octets les 4 octets de gauche étant ladateet 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.