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

Développement SQL Server Discussion :

Ajouter les heures et minutes à une date de style 103


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Par défaut Ajouter les heures et minutes à une date de style 103
    Bonjour,

    Comment faire pour ajouter les heures et minutes (donc sans les secondes) à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CONVERT(varchar,date_creation, 103) as date_creation

  2. #2
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Utilisez DATEADD()

  3. #3
    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 : 44
    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
    Par défaut
    Bonjour,

    Un peu plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CONVERT(char(10), date_creation, 103) + ' ' + CONVERT(char(8), date_creation, 108)
    Il suffisait de continuer à lire la documentation de la fonction CONVERT()

    Vous pouvez aussi en faire une fonction scalaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE FUNCTION fn_get_formatted_date
    	(@_date_time datetime)
    RETURNS char(19)
    AS
    BEGIN
    	RETURN CONVERT(char(10), @_date_time, 103) + ' ' + CONVERT(char(8), @_date_time, 108)
    END
    Que vous pouvez utiliser entre le SELECT et le FROM d'une requête...
    Ou encore une fonction de table en ligne qui offre de meilleures performances :
    - quand elle est utilisée sur une colonne d'une table
    - qu'elle retourne une seule ligne sans interroger une table
    - qu'elle est utilisée avec l'opérateur APPLY :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE FUNCTION fn_get_formatted_date
    	(@_date_time datetime)
    RETURNS TABLE
    AS
    RETURN SELECT CONVERT(char(10), @_date_time, 103) + ' ' + CONVERT(char(8), @_date_time, 108) AS formatted_date
    Ce qui donne, à l'utilisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT		T.mesColonnes
    		, D.formatted_date
    FROM		dbo.maTable AS T
    CROSS APPLY	dbo.fn_get_formatted_date(T.date_creation) AS D
    Cela dit si c'est pour de l'affichage dans une application, une telle transformation doit se faire côté applicatif ...

    @++

  4. #4
    Membre éclairé Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Par défaut
    Cela dit si c'est pour de l'affichage dans une application, une telle transformation doit se faire côté applicatif ...
    Effectivement je pourrais le faire côté applicatif, mais cette ligne me semble plus simple et rapide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CONVERT(char(10), date_creation, 103) + ' ' + CONVERT(char(8), date_creation, 108)
    Merci de votre aide

  5. #5
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Effectivement je pourrais le faire côté applicatif, mais cette ligne me semble plus simple et rapide
    Faux... et ce n'est pas le boulot d'un SGBD...
    Les languages tels que C# ou autres sont là pour çà...

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

Discussions similaires

  1. [11g] Ajout des minutes à une date
    Par fetano dans le forum PL/SQL
    Réponses: 3
    Dernier message: 22/07/2014, 04h28
  2. Ajouter cinq minutes à une date
    Par Moostiq dans le forum SQL
    Réponses: 2
    Dernier message: 03/01/2012, 15h08
  3. [SSIS] [2K5] Ajout de 10 minutes à une date
    Par Shixz dans le forum SSIS
    Réponses: 1
    Dernier message: 25/05/2009, 11h59
  4. Ajouter une minute à une date
    Par madjidri dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 06/11/2008, 10h41
  5. Trouver les fichiers modifiés depuis une date/heure précise
    Par sinok dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 18/07/2006, 17h56

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