2009-11-08 7 views
1

Mise à jour Liste ensemble Date = "2009-07-21T19: 00: 40"datetime analyseur via tsql

serveur SQL ne reconnaît pas ce format. est-il une fonction de conversion

+0

obtenez-vous des erreurs? –

Répondre

0

Essayez ceci:

UPDATE List SET Date = '2009/07/21 19:00:40' 
+0

Inutile de dire que vous ne devez pas utiliser de mots réservés pour les noms d'objets. –

+0

l'importation de données, ne peut pas changer le format original – scrippie

+0

juste donner un coup avec DATEFORMAT COMMAND .. cela peut fonctionner –

1

Vous pouvez utiliser CAST and CONVERT. Mais peut-être que vous devez remplacer le «T» avec un espace, avant de pouvoir le convertir. (Il existe également des fonctions de manipulation de chaînes disponibles.)

1

J'ai très bien fonctionné pour moi (SQL Express 2005) à l'exception des guillemets (que SQL Server supposait être un délimiteur de colonne); c'est ce qui jette l'erreur? Merci pour l'exemple de code, mais pouvez-vous produire l'erreur réelle?

En d'autres termes,

DECLARE @List TABLE ([date] DATETIME )

INSERT INTO @List SELECT GETUTCDATE()

MISE À JOUR @List SET Date = " 2009-07-21T19: 00: 40 "

produit

Msg 207, niveau 16, état 1, ligne 7 nom de colonne non valide '2009-07-21T19: 00: 40'.

Alors que

DECLARE @List TABLE ([date] DATETIME )

INSERT INTO @List SELECT GETUTCDATE()

MISE À JOUR @List SET Date = « 2009 -07-21T19: 00: 40 '

s'exécute avec succès.

0

Même travaillé pour moi aussi (2005 & 2008) ..

DECLARE @tbl TABLE ([date] DATETIME) 
INSERT INTO @tbl SELECT getdate() 
select * from @tbl 

UPDATE @tbl SET Date = '2009-07-21T19:00:40' 
select * from @tbl 

Cependant, juste donner un coup de feu avec DATEFORMAT COMMAND

Quelque chose comme ça

**SET DATEFORMAT dmy** 

DECLARE @tbl TABLE ([date] DATETIME) 
INSERT INTO @tbl SELECT getdate() 
select * from @tbl 

UPDATE @tbl SET Date = '2009-07-21T19:00:40' 
select * from @tbl