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

Langage SQL Discussion :

recuperer heure et minute de datetime


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations forums :
    Inscription : Octobre 2002
    Messages : 37
    Points : 30
    Points
    30
    Par défaut recuperer heure et minute de datetime
    Bonjour,
    j'ai 2 dates declarées datetime et de format "yyyy-mm-dd hh:mn".
    et je veux recuperer le resultet de (date_fin - date_debut)
    sous format hh:mn.
    Comment faire ?
    Merci d'avance pour votre aide.
    -------- Noura --------

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select convert(varchar(30), getdate(), 108)
    Apres, il ne reste plus qu'a faire un traitement de chaine
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations forums :
    Inscription : Octobre 2002
    Messages : 37
    Points : 30
    Points
    30
    Par défaut
    Merci fadace pour votre aide, mais j'arrive pas à avoir un bon résultat,
    j'ai toujours des syntaxes d'erreurs dans la requette Sql.
    voulez vous mieux expliquer avec un exemple.
    (je travaille sur informix).
    merci.
    -------- Noura --------

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    En règle générale un DATETIME (en fait TIMESTAMP en SQL) est stocké sous forme de réel. La partie entière étant en jour.

    De ce fait le transtypage suivant donne le nombre de jours décimaux en différence :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CAST(DATE_FIN AS FLOAT) - CAST(DATE_DEBUT AS FLOAT)
    Pour un nombre d'heures décimales :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT (CAST(DATE_FIN AS FLOAT) - CAST(DATE_DEBUT AS FLOAT) ) * 24.0
    Enfin pour une représentation HH.MM il faut utiliser des fonctions de récupération de partie entière et décimale et multiplier la partie décimale par 0.6

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations forums :
    Inscription : Octobre 2002
    Messages : 37
    Points : 30
    Points
    30
    Par défaut
    Merci à vous tous pour votre aide.
    En Informix, c’est plus simple, il y’a une commande ‘INTERVAL’ qui fait l’affaire sans intervention du développeur,
    Et voilà la syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Define var_dat INTERVAL  hour(6) to minute
    Select (datfin - datdeb) into var_dat
    From table
    Where ........
    Et le résultat retourné est en heure et minute sous la forme hhhhh :mn
    Merci.
    -------- Noura --------

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

Discussions similaires

  1. Recuperer la date sans l'heur dans un champ datetime
    Par bob33 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 22/06/2010, 12h59
  2. Conversion des heures en minutes
    Par lacrevette dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/02/2005, 17h50
  3. Pb de recuperation heure et date systeme
    Par d.w.d dans le forum C++
    Réponses: 3
    Dernier message: 28/01/2005, 23h39
  4. Recuperer heure d'une horloge atomique (Internet) ?
    Par Mailgifson dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/07/2004, 12h00
  5. Probleme comparaison heure et minutes
    Par innosang dans le forum Bases de données
    Réponses: 5
    Dernier message: 13/05/2004, 08h40

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