Récupération et calculs sur dates [Oracle] - SQL/NoSQL - Programmation
Marsh Posté le 13-12-2007 à 12:56:51
Essayer !
Select to_date( to_number(to_date(t1.val, 'dd/mm/yyyy hh24:mi:ss')) |
Marsh Posté le 13-12-2007 à 14:42:30
Merci de cette réponse!
Je viens d'essayer ceci:
Code :
|
sans succès:
Code :
|
Si quelqu'un a une idée...
Merci
Marsh Posté le 13-12-2007 à 15:53:21
Comme il y a deux enregistrements différents pour la même table il faut utiliser le from que j'avais mis où les alias t1 et t2 permettent de distinguer les deux enregistrements :
from prm t1, prm t2 |
Marsh Posté le 13-12-2007 à 16:18:36
Merci de ton aide
Je viens de lancer ceci:
Code :
|
mais j'ai cette erreur:
Code :
|
Doit y avoir un problème au niveau du calcul non?
Marsh Posté le 14-12-2007 à 14:08:41
je pige pas trop le coup des to_number...
à quoi il servent ?
Marsh Posté le 14-12-2007 à 14:16:15
Code :
|
=> Sur une 10gR2 en tout cas, ça passe pas, j'ai la même erreur.
En revanche :
Code :
|
Ca marche.
Je ne vous le faire pas dire, c'est absolument horrible comme syntaxe.
Mais bon, Oracle c'est tellement de la merde que c'est pas une surprise...
Voici une référence assez utile :
http://www.psoug.org/reference/date_func.html
Marsh Posté le 14-12-2007 à 14:21:10
A noter aussi que...
Code :
|
|
Quand je dis que c'est de la merde...
Marsh Posté le 14-12-2007 à 15:13:16
ceci dit
Code :
|
marche aussi pour rajouter 30 mins
pour l'histoire du 20071201003000 ca ne m'étonne pas plus que ca, est ce qu'il y a un sgbd qui retourne réellement un truc cohérent? y devrait juste thrower une exception pour oracle a la limite.
Marsh Posté le 14-12-2007 à 17:12:02
Sous SQL Server, ça te crée une date 01/01/0000 00:30:00
Du moins il me semble (c con, là j'ai pas de SQL Server sous la main pour tester...)
Ce qui est la logique même...
Au pire, il devrait retourner un truc du genre 01/01/1970 00:30:00 puisque sur la plupart des systèmes la date "zéro" correspond au 01/01/1970 00:00:00 (et null à 31/12/1969 23:59:59)
Marsh Posté le 13-12-2007 à 12:12:08
Bonjour à tous,
je viens vous demander de l'aide car mes connaissances en Oracle sont très limitées, je débarque dessus et je suis bloqué pour un problème qui peut paraitre bête...
Voici une description simplifiée de mon problème. J'ai une table PRM, contenant les champs ID et VAL. Une de mes entrée (avec l'ID 10 par exemple) contient une date (format: dd/mm/yyyy hh24:mm:ss), une autre entrée (avec l'ID 11) contient un nombre entier représentant un temps en minute. Je dois prendre ma date, y ajouter mon nombre de minutes et vérifier que le résultat est supérieur ou inférieur à la date du système...
On m'a dit que cela était faisable en Oracle avec to_date mais je nage complètement...
Merci d'avance de votre aide!