Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/06/2007, 10h41   #1
Invité de passage
 
Inscription : juin 2005
Messages : 26
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 26
Points : 3
Points : 3
Par défaut Problème tout bête (normallement :) ) avec les date/time

Bonjour, j'ai un tri bête et méchant à faire sur une base MySQL.

Du peu dont je me souviens de mes cours de SQL, les trucs avec les dates et heures, ça a toujours été relou.

Et je confirme ^^


En fait, j'ai une base qui contient plein de trucs, dont des dates/heures qui gère la gestion des interventions sur des applications là où je bosse.

Selon la gravité de la panne, l'utilisateur renseigne un champ "Gravité de la panne" et selon cette gravité, on se doit de résoudre le problème dans les 4 heures (gravité = 1), dans la journée (gravité = 2), dans les 3 jours (gravité = 3), etc...

Quand une ligne est créée dans la table, elle prend la date du moment de la création (date_emission)


Donc, si je veux voir où en est le traitement des incidents, je peux bêtement regarder la zoulie page intranet ou tous les incidents (et d'autres trucs) sont répertoriés.

Le problème est que des fois, y a TROP de trucs. Et surtout qu'il y a des trucs prioritaires, et d'autres moins.
Donc, on y voit pas grand chose.

Le but de ma requête est donc de sortir de cette table tous les incidents de gravité 1 (le plus urgent) et dont la date d'émission est supérieure à 4h (Là, où on se fait taper sur les doigts).

J'ai potassé les milliards de fonctions sur les dates et heures, mais j'arrive pas à trouver ce que je veux. Soit ca gère que les DATE, soit que les TIME, soit (apparemment) les 2 en même temps, mais je vois pas bien comment ça marche...


Je cherche donc ma requête finale qui devrait ressembler à la fin à


SELECT * FROM Ma_Table WHERE gravité = "1" AND (un tas d'autres trucs) AND Date_d'émission supérieure à 4 heures


Et pareillement, il me faudra aussi sortir sur une requête semblable:
- les événements de gravité 2 remontant à plus de 1 jour
- les événements de gravité 3 remontant à plus de 3 jours
- les événements de gravité 4 remontant à plus de 1 semaine
- etc....


Donc si quelqu'un pouvait m'indiquer comment comparer 2 date/time entre eux, un genre de WHERE Date_d'aujourd'hui - Date_emission > x heures (ou jours), ça serait sympatoche.
KuBi4K est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2007, 20h19   #2
Membre éclairé
 
Inscription : février 2005
Messages : 349
Détails du profil
Informations personnelles :
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : février 2005
Messages : 349
Points : 358
Points : 358
l'utilisation des fonction DATE_FORMAT et CURDATE devrait t'aider.


where CURDATE() - interval 4 HOURS > Date d'emission


quel est le format de tes dates , si tu as des problemes de format il faut utiliser date_format.
overider est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h51.


 
 
 
 
Partenaires

Hébergement Web