web-dev-qa-db-fra.com

SQL Server convertit la chaîne en date et heure

Ceci ne demande pas comment convertir une chaîne arbitraire en date-heure dans MSSQL telle que cette question .

Je peux contrôler le format de la chaîne, mais je souhaite connaître la syntaxe MSSQL pour la mise à jour d'un champ datetime à l'aide d'une chaîne de date.

43
NeilG

Par exemple, vous pouvez utiliser

update tablename set datetimefield='19980223 14:23:05'
update tablename set datetimefield='02/23/1998 14:23:05'
update tablename set datetimefield='1998-12-23 14:23:05'
update tablename set datetimefield='23 February 1998 14:23:05'
update tablename set datetimefield='1998-02-23T14:23:05'

Vous devez faire attention à l'ordre jour/mois, car cela dépendra de la langue lorsque l'année n'est pas spécifiée en premier. Si vous spécifiez le année en premier alors il n'y a pas de problème; l’ordre des dates sera toujours année-mois-jour.

26
NeilG
UPDATE MyTable SET MyDate = CONVERT(datetime, '2009/07/16 08:28:01', 120)

Pour plus d'informations sur CAST et CONVERT, y compris sur les différentes options de formatage de la date, voir le lien MSDN Library ci-dessous:

https://docs.Microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql

101
Bork Blatt