2010-12-06 41 views
0

J'ai 2 champs, date et heure, qui doivent être combinés en 1 champ date-heure. J'ai vu des fonctions qui font cela, mais elles ne semblent pas fonctionner avec mes données.Les champs Date et heure se combinent à DateTime dans SQL Server 2000?

Date de char (8): 20051101
TIME char (4): 1 115

Résultat nécessaire: Temps de date représentant 1 novembre 2005, 11:15

Comment puis-je faire cela?

+0

Quels sont les types de données des champs? – HLGEM

+0

Ajouté à la question, s'il vous plaît voir modifier. – MAW74656

Répondre

1

En supposant que votre type de données est int, vous pouvez faire:

declare @d as int 
declare @t as int 
set @d = 20051101 
set @t = 1115 
select CAST(cast(@d as varchar) as datetime) + dateadd(hh, cast(left(@t, 2) as int), 0) + dateadd(N, cast(right(@t, 2) as int), 0) 

Mise à jour pour les ombles:

declare @d as char(8) 
declare @t as char(4) 
set @d = '20051101' 
set @t = '1115' 
select CAST(@d as datetime) + dateadd(hh, cast(left(@t, 2) as int), 0) + dateadd(N, cast(right(@t, 2) as int), 0) 
+0

Votre version Char a fait l'affaire. Merci! – MAW74656