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 :

manipulation d un champ de type datetime


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 12
    Par défaut manipulation d un champ de type datetime
    je travail sur une BD postgres. dans cette derniere j'ai une table "Appel" contenant "id_appel" et "date_appel" ...

    le champ "date_appel" est de type 'datetime' et il est de ce format :
    2008-07-17 15:56:52.0.

    je souhaite compter le nombre d'appel par une plage d'horaire de demi-heure, càd le nombre d'appel pour une ceratine année, un ceratin mois, jour, heure et dans une certaine demi-heure (par exemple de 15:00 à 15:30)
    puis
    le nombre d'appel pour la meme année, meme mois, meme jour, meme heure et pour la demi-heur (15:30 à 16:00)
    ....

    comment je peux faire ca en sql

    merci d'avance

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Pour un jour et une demie-heure donnés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT COUNT(*) As NombreAppels
    FROM Appel
    WHERE date_appel BETWEEN '2008-07-17 15:00:00' AND '2008-07-17 15:29:59'
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Je pense que ce n'est pas ce qui est souhaité ici.
    Ne travaillant pas sur PostGres la syntaxe n'est probablement par parfaite, celà dit ça à l'air proche d'Oracle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select
        sysdate,
        trunc(sysdate, 'hh24') + floor(to_number(to_char(sysdate, 'mi'))/30)*30/24/60 arrondi_30
    from dual;
     
    SYSDATE			ARRONDI_30
    22/07/2009 14:33:32	22/07/2009 14:30:00
    Le premier trunc arrondi à l'heure actuelle, ensuite j'ajoute le produit par trente de l'arrondi inférieur de la division des minutes divisé par trente, le tout divisé par 24 et par 60 pour que celà représente des jours.

    Ensuite vous pouvez faire un group by et un comptage sur cette colonne.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 12
    Par défaut good
    ca marche .... merci à vous

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

Discussions similaires

  1. [MySQL] Problème d'insert avec un champ de type DateTime
    Par mademoizel dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 05/05/2009, 03h45
  2. Formatage d'un champ de type datetime
    Par elspliffo dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 27/11/2007, 13h58
  3. Indexe sur les champs de type DATETIME
    Par Thierry8 dans le forum Requêtes
    Réponses: 9
    Dernier message: 25/06/2006, 19h45
  4. manipulation d'un champ de type Memo
    Par ivanleterrible dans le forum Bases de données
    Réponses: 6
    Dernier message: 29/05/2006, 21h53
  5. champ de type DATETIME en 12/24 h
    Par mica94 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 11/01/2006, 17h06

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