Maison > base de données > tutoriel mysql > Comment puis-je stocker en toute sécurité les dates JJ-MM-AAAA dans le type de données DATETIME de SQL Server ?

Comment puis-je stocker en toute sécurité les dates JJ-MM-AAAA dans le type de données DATETIME de SQL Server ?

DDD
Libérer: 2024-12-30 20:02:17
original
314 Les gens l'ont consulté

How Can I Safely Store DD-MM-YYYY Dates in SQL Server's DATETIME Datatype?

Conversion du format de date SQL Server : DATETIME en JJ-MM-AAAA

Dans SQL Server, lors de la récupération des valeurs de date dans le JJ-MM -format AAAA, les utilisateurs rencontrent souvent le besoin de stocker ces valeurs dans un type de données DATETIME tout en préservant le même format. Cette question explore une solution à cette exigence.

La requête fournie, SELECT CONVERT(VARCHAR(10), GETDATE(), 105), convertit avec succès la date actuelle au format JJ-MM-AAAA souhaité dans un Type de données VARCHAR. Cependant, stocker cette valeur dans un type de données DATETIME nécessite une approche différente.

Dans SQL Server, les valeurs DATETIME sont stockées sous forme de 2 entiers de 4 octets, ce qui les rend intrinsèquement non formatées. Pour afficher ou récupérer des dates dans des formats spécifiques, il faut les convertir en un type de données VARCHAR à l'aide de l'identifiant de format approprié.

Pour obtenir le format souhaité dans un type de données DATETIME, considérez ce qui suit :

  • Assurez-vous que la date est formatée en toute sécurité avant de l'insérer. JJ-MM-AAAA n'est pas un format universellement sûr car il peut être interprété comme MM-JJ-AAAA dans certains paramètres.
  • Utilisez des formats sûrs tels que aaaaMMjj ou aaaa-MM-jjThh:mi:ss.mmm .
  • Par exemple, pour insérer une date au format jj/MM/aaaa en toute sécurité :

    INSERT MyTable (DateField) VALUES ('01/10/2010') -- dd/MM/yyyy not safe
    Copier après la connexion
  • Utilisez plutôt un format sécurisé :

    INSERT MyTable (DateField) VALUES ('20101001') -- yyyyMMdd safe
    Copier après la connexion

Veuillez noter que lors de la sélection des champs DATETIME, SSMS affiche les valeurs formatées pour plus de commodité. La représentation interne réelle est un entier de 8 octets.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal