IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ADO.NET Discussion :

DATETIME2 problème de précision


Sujet :

ADO.NET

  1. #1
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2004
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 477
    Points : 223
    Points
    223
    Par défaut DATETIME2 problème de précision
    Bonjour à tous,

    J'ai un problème de compatibilité avec le format DATETIME2 et je suis sur SQLServer, C#.NET.
    Visiblement peu importe ce que je fais dans mes requêtes paramétrées systématiquement en sortie il fait un DATETIME2(7) au lieu de DATETIME2(0) ce qui ralentit considérablement mes requêtes.
    Pour info, dans ma base je viens de définir tous les champs DATETIME (visiblement deprecated) en DATETIME2.
    Avez vous déja eu ce problème ? Comment palier à ce problème ?

  2. #2
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 154
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Je ne crois pas que DATETIME soit deprecated.
    S'il est conseillé d'utiliser DATETIME2, car à la fois plus finement paramétrable (précision variable), et surtout, conforme au standard SQL, mais il n'empêche que DATETIME habituel reste tout à fait supporté et valide pour un nouveau développement.

    Ensuite, avez-vous un exemple de requête + code C# qui pose problème avec DATETIME2 ?
    Accessoirement, je suis surpris que vous mesuriez une différence de performances flagrante entre DATETIME et DATETIME2, même avec la précision max.
    On ne jouit bien que de ce qu’on partage.

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 156
    Points : 25 075
    Points
    25 075
    Par défaut
    DateTime est deprecated depuis longtemps je crois, mais il fonctionnera encore longtemps, chez ms deprecated veut dire qu’il y a mieux mais ils retirent rarement des choses.
    Surpris aussi qu’il y ait une différence de perf, surtout visible.

    Après il faudrait préciser dans quel sens tu as le problème, avec un sqlparameter il est possible de préciser la taille, si non précisé il prend la taille de ce qu’on lui donne en valeur.
    Dans l’autre sens c’est bien ton select qui détermine la taille.
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 154
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    DateTime est deprecated depuis longtemps je crois, mais il fonctionnera encore longtemps, chez ms deprecated veut dire qu’il y a mieux mais ils retirent rarement des choses.
    Surpris aussi qu’il y ait une différence de perf, surtout visible.

    Après il faudrait préciser dans quel sens tu as le problème, avec un sqlparameter il est possible de préciser la taille, si non précisé il prend la taille de ce qu’on lui donne en valeur.
    Dans l’autre sens c’est bien ton select qui détermine la taille.
    https://docs.microsoft.com/fr-fr/sql...l-server-ver15

    Microsoft indique qu'il est préconisé d'utiliser datetime2, date et time, mais pas que datetime est de precated.

    A contrario par exemple de Text, NText ou Image qui le sont vraiment :

    https://docs.microsoft.com/en-us/sql...l-server-ver15
    On ne jouit bien que de ce qu’on partage.

Discussions similaires

  1. Problème de précision dans une requête
    Par Le Pharaon dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 09/08/2006, 14h16
  2. Réponses: 5
    Dernier message: 11/05/2006, 08h51
  3. Problème de précision avec FloatToStr
    Par Clorish dans le forum Langage
    Réponses: 9
    Dernier message: 06/12/2005, 15h38
  4. Réponses: 4
    Dernier message: 26/10/2005, 20h38
  5. [FLASH MX] Problème de "précision"
    Par will-scs dans le forum Flash
    Réponses: 2
    Dernier message: 03/07/2005, 00h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo