2010-02-02 4 views
3

Essayer de construire une date:dates Constructing dans TSQL

CAST('9/1/' + YEAR(GETDATE()) AS Datetime) AS test2 

Mais cela ne fonctionne pas?

Vous voulez obtenir quelque chose comme '9/1/2010'?

Répondre

4

vous ne pouvez pas concaténer la chaîne '9/1' avec le numéro: YEAR(GETDATE()), alors essayez ceci:

select CAST ('9/1 /' + CONVERT (varchar (4), AN (GETDATE())) AS Datetime) AS test2

+0

ooooh, est logique ... – R0b0tn1k

0

Vous pouvez utiliser une chaîne au format AAAAMMJJ.

1
SELECT 
CAST('9/1/' + CAST(YEAR(GETDATE()) AS VARCHAR) AS Datetime) AS test2 

Vous devez convertir YEAR (entier) en VARCHAR avant de pouvoir l'ajouter.

1

essayez ceci:

Select DateAdd(month, 
      dateDiff(month, 0, getdate()) + 9 - MONTH(getdate()), 
      0) 
+0

Cela fonctionne et utilise intégrée dans SQL rapide (Server?) Fonctions au lieu de concaténation de chaînes. –