Comment faire pour convertir le format de date dans Transact-SQL

Conversion de formats de date dans Transact-SQL est une tâche triviale lorsque vous utilisez les fonctions fournies pour la conversion datetime-à-caractère. Pour presque tous les formats de date standard, il ya une conversion existante que vous pouvez profiter de formater correctement votre date. Dans Transact-SQL, la fonction CONVERT est la fonction la plus couramment utilisée pour formater les dates.

Choses que vous devez

  • SQL Server 6.5 ou plus récent (y compris 2000, 2005, et 2008)

Se familiariser avec la fonction convert

  1. La fonction Convert prend deux ou trois variables, selon la façon dont il est utilisé. À son invocation la plus simple, la fonction fonctionne comme ceci:

    CONVERT (type de données, données)

    • OR;
    • CONVERT (type de données, de données, de code)

      Par exemple, pour convertir la date d'aujourd'hui au format de date par défaut configurée de SQL Server, utilisez la commande suivante:




      CONVERT (varchar, GETDATE ())

      Cela va prendre la date et l'heure locale, et de le convertir en une chaîne de varchar formatée dans l'environnement local configuré de SQL Server. Dans la localisation États-Unis, cela pourrait être formaté, "Friday, 25 Décembre, 2009 13:35."

    • Pour formater un type de données datetime dans un "aaaa-mm-dd" le format, utilisez le code de conversion 121, comme dans l'exemple suivant:

      CONVERT (varchar (10), GETDATE (), 121)

      Ceci va produire une date formatée comme "2009-12-25." Notez le "varchar (10)" limitera la date complète avec le temps d'être inclus dans la sortie. Si le "(10)" est omis, la chaîne résultante sera formaté comme "2009-12-25 13: 35: 00.000."




    • Pour formater un type de données datetime dans le format de date de la norme américaine, "MM / jj / aaaa," utiliser le code de conversion 101, comme dans l'exemple suivant:

      CONVERT (varchar (10), GETDATE (), 101)

      Ceci va produire une date formatée comme "25/12/2009." Encore une fois, notez le "varchar (10)" ce qui limite les informations de temps d'être inclus dans le résultat.

    • Si il n'y a pas un code de conversion existante pour le format de date que vous souhaitez utiliser, vous voulez peut-être utiliser l'année, mois, jour, et des fonctions de DATEPART pour obtenir les pièces individuelles de date pour créer votre propre format de date. Par exemple, pour produire une date formatée comme "aaaa: MM-dd, hh," utilisez la chaîne suivante de fonctions:

      ANNÉE (GETDATE ()) + ":" + MOIS (GETDATE ()) + '-' + JOUR (GETDATE ()) + "," + DATEPART (heure, GETDATE ())

    Conseils & Avertissements

    • Il existe plusieurs codes de conversion pour une utilisation avec la fonction CONVERT. Essayez de regarder dans le "CAST et CONVERT" documentation pour celui qui correspond à vos besoins avant d'utiliser l'année, mois, jour, et des fonctions de DATEPART pour créer votre propre.
    » » » » Comment faire pour convertir le format de date dans Transact-SQL