Rechercher : dans
Par :

[oracle] comparaison d'heures

Dernière réponse le 16 mar 2007 à 15:46:28 Gilles M, le 2 déc 2005 à 15:59:24 
 Signaler ce message aux modérateurs

Bonjour,
Je travaille sous une base Oracle 8i. Je dispose d'un champs date du type 01/12/05 16:01:50. Il faut que je sélectionne tous les enregistrements dont la l'heure est comprise entre 8h00 et 8h30.
Si quelqu'un connait la solution ....
Merci d'avance
Gilles

Meilleures réponses pour « [oracle] comparaison d'heures » dans :
Connexion à une base Oracle en php Voir1. Périmètre Cet article est un exemple de connexion à une base Oracle par le biais d'un script php. Cet article ne traite pas la configuration de votre serveur Oracle, et de votre client Oracle. Nous partons du principe que vous pouvez accéder à...
Linux - Oracle - Installation d'Oracle 11g sous Linux Ubuntu VoirPrésentation Téléchargement d’UBUNTU Téléchargement d’Oracle Configuration du serveur X Mise à jour des packages Installation des packages de pré-installation Mise à jour du shell Mise à jour de la configuration des utilisateurs...
ORA-00600 internal error code, arguments VoirCause : C’est le code d’erreur générique interne pour les exceptions des programmes Oracle. Il indique que le processus s’est heurté à une condition inattendue de bas niveau. Les causes probables sont : un timeout un fichier corrompu crash de...
Oracle - Les séquences VoirCet article s'appuie sur la version 8.1.6 d'Oracle. Une séquence est un objet de base de données Oracle, au même titre qu'une table, une vue, etc... Autrement dit, il appartient à un utilisateur, on peut le manipuler, le modifier, à condition...
Oracle - Les fichiers d'une base Oracle VoirLes fichiers physiques d'une base Oracle Les fichiers physiques d'une base Oracle permettent de stocker de manière persistante les données manipulées par Oracle, tandis que la mémoire sert à optimiser la vitesse de fonctionnement de la base de...

1

sebsauvage, le 2 déc 2005 à 16:25:39

select * from ...
where date between '2005-12-01 08:00' and '2005-12-01 08:30'


si je ne me trompe pas.

Répondre à sebsauvage

6

 Nozoum, le 16 mar 2007 à 15:46:28

Il y a pas besoin de convertir avec TO_NUMBER, la solution est très simple:

SELECT * FROM [TABLE]
WHERE TO_CHAR([CHAMP], 'HH24:MI') BETWEEN '08:00' AND '08:30'

Il gère tout seul le between sur du texte sans problème, @+

Répondre à Nozoum

2

bacchuss, le 2 déc 2005 à 16:33:48

Oui mais la c'est que pour une journée, non ?
ne faut-il pas utiliser TO_CHAR() et SUBSTR() si on veut extraire uniquement
les heures de tous les jours ?

ou mieux HOUR() et MINUTE() __________________________________________
01001001110101001010100101 et plus si affinités

Répondre à bacchuss

3

Gilles M, le 2 déc 2005 à 16:39:29

Effectivement, le problème se pose lorsque l'on travaille sur plusieurs dates.
J'avais essayer de travailler avec
to_char(date,'HH24:MI) between '08:00' and '08:30' mais cela ne fonctionne pas

Répondre à Gilles M

4

marina, le 9 fév 2006 à 13:54:24
  • +1

Salut Gilles,

Un peu tordu mais tu peux faire comme ça :

select to_char(sysdate, 'DD/MM/YYYY HH24:MI') from dual
where to_number(to_char(sysdate, 'HH24MI')) between 0800 and 0830;

Répondre à marina

5

Gilles M, le 9 fév 2006 à 14:03:48

Bonjour Marina,
Merci beaucoup pour cette réponse qui n'est pas tordue puisqu'elle fonctionne :-)
A charge de revanche.
Gilles

Répondre à Gilles M