2010-09-14 11 views
8

Y at-il un moyen d'insérer/mettre à jour une valeur datetime (getdate()) dans une table temporaire créée comme ce qui suit:sélectionnez null comme TestDate dans #temp_table

select id, null as testdate 
into #temp_table 

et déclaration puis plus tard:

update #temp_table 
set testdate=getdate() 

J'obtiens l'erreur:

cannot convert datetime into int...

Merci.

Répondre

15

Cast la colonne dans le select into

select id, cast(null as datetime) as testdate 
into #temp_table 
+4

+1: Exactement. NULL par défaut dans SQL Server est un INT; vous avez besoin de CAST/CONVERT la valeur NULL pour le type de données approprié pour que l'OP fonctionne. –

+0

+1: Un autre exemple de pourquoi je préfère toujours créer explicitement mes tables temporaires. –