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

MS SQL Server Discussion :

Recuperer la date sans l'heur dans un champ datetime


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 67
    Points : 55
    Points
    55
    Par défaut [resolu]Recuperer la date sans l'heur dans un champ datetime
    Bonjour, je voudrais savoir s'il existe un moyen de récuperer seulement la date d'un champ de type datetime, c'est à dire en excluent l'heure.
    Si par exemple ma variable est 01/02/2003 17:56:45
    Je voudrais juste récupérer 01/02/2003
    Merci d'avance

  2. #2
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    Par défaut
    Voir la fonction convert
    convert(varchar(10),madate,103)
    et 103 => dd/mm/yyyy
    et 101 => mm/dd/yyyy
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 67
    Points : 55
    Points
    55
    Par défaut
    merci, ça marche nickel

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 311
    Points : 127
    Points
    127
    Par défaut
    bonjour,
    je relance le débat mais ,

    J'aimerais poser la question inverse. C'est à dire pour récupérer l'heure sans la date ?

    il faut mettre 108 sauf que ça ne prend pas une valeur de type DATETIME ?

    Comment faire ?

    MErci

  5. #5
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CONVERT(CHAR(8), GETDATE(), 108)
    Notez au passage que si vous êtes sous SQL Server 2008, qui introduit le type TIME (et le type DATE, et bien d'autres encore ...), vous pouvez écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CAST(GETDATE() AS TIME(0))
    @++

  6. #6
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 311
    Points : 127
    Points
    127
    Par défaut
    Merci pour cette réponse, ça marche très bien.

    Mais le problème c'est que je veut récupérer cette heure et la comparer avec une autres, la conversion en char ne poserait il pas un problème pour la comparaison ?

    De plus quand je stock cette heure dans une variable de type datetime une date par défaut vient s'incruster , et donc retour à la case départ.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    DECLARE @hrFin4 DATETIME
    SET @hrFin4 = (SELECT hrFin4 FROM EQUIPE WHERE idEquipe=(
    				SELECT idEquipe FROM PERSONNEL WHERE numCarte='2CCB9607')
    )
     
    SET @hrFin4 = (select convert(char(12), @hrFin4, 108))
     
    SELECT @hrFin4
    1900-01-01 15:00:00.000

  7. #7
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Mais le problème c'est que je veut récupérer cette heure et la comparer avec une autres, la conversion en char ne poserait il pas un problème pour la comparaison ?
    A part la vitesse, non.
    Cela dépend de votre requête aussi, vous pouvez peut-être créer une table de dates pour résoudre votre problème.
    Vous pouvez aussi créer une colonne calculée indexée sur le HASHBYTES de votre colonne de type DATETIME.

    De plus quand je stock cette heure dans une variable de type datetime une date par défaut vient s'incruster , et donc retour à la case départ.
    Ce qui est tout à fait logique, le nom du type parle de lui-même.

    @++

  8. #8
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 311
    Points : 127
    Points
    127
    Par défaut
    Merci pour les réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Inserer uniquement l'heure dans un champ DATETIME
    Par Seb33300 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 19/02/2009, 23h56
  2. Obtenir la date sans l'heure d'aujourdhui en datetime
    Par ravaid dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 21/03/2008, 12h46
  3. Réponses: 3
    Dernier message: 12/02/2008, 09h20
  4. Inserer juste la date courrant sans l'heure dans un varchar
    Par bleuerouge dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 14/06/2006, 15h05
  5. concatener la date et l'heure dans la meme valeur
    Par abdou.sahraoui dans le forum Oracle
    Réponses: 12
    Dernier message: 23/03/2006, 15h35

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