2009-08-21 10 views
0

Dans Sql Server 2008, ils ont ajouté de nouveaux types de données DATE et TIME, complétant DATETIME.
Je voulais combiner une date et une heure à un DATETIME, et peut-être pensé à l'évidence fonctionnerait, et que je pouvais faireOpérateurs de type de données personnalisés dans Sql Server?

SELECT DATEFLD + TIMEFLD FROM MYTABLE 

et DATE + TIME renverrait le DATETIME correspondant. Malheureusement, c'est un peu trop évident et ça n'a pas marché. Donc, je me demande, Sql Server a un moyen de remplacer les opérateurs, pour créer un remplacement pour "+" pour gérer DATE + TIME => DATETIME.

Répondre

1

CAST pour SmallDateTime premier

DECLARE @d date, @t time 

SELECT @d = getdate(), @t = getdate() 

SELECT cast(@d as smalldatetime) + cast(@t as smalldatetime) 

Je ne me souviens pas où j'ai vu et je ne me souviens pas pourquoi. désolé

SQL ne fournit pas de surcharge, heureusement ...

+0

Intéressant, cela fonctionne, bien qu'il semble un peu étrange. Je reçois aussi des erreurs de conversion pour certaines valeurs ... que je ne suis pas vraiment intéressé à retracer maintenant. Mais il est intéressant de savoir que cela fonctionne dans la plupart des conditions. Merci pour l'info! – eidylon

Questions connexes