Hello,
je voudrais comparai des dates dans une table (format Date), je travail en java et la base et postGres.
Je pense faire quelque chose du style:
Select myTable where value>myDate
est ce possible ?
Hello,
je voudrais comparai des dates dans une table (format Date), je travail en java et la base et postGres.
Je pense faire quelque chose du style:
Select myTable where value>myDate
est ce possible ?
Oui c'est tout à fait possible.
Il faut faire attention aux comparaisons de dates en JDBC, je ne suis pas sûr que ce soit très bien géré par exemple d'utiliser directement un objet Date Java pour la comparaison ( je n'ai même jamais vraiment testé ), donc j'ai prit pour habitude de transformer ma date en String avec un format qui convient au SGBDR pour les comparaisons.
Par exemple :
En sachant que j'ai obtenu "22/10/2005" en utilisant un Formatter Java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT * FROM articles WHERE dateparution > '22/10/2005'
Sur oracle, et en SQL, je l'aurais plutôt codé comme ceci:
Voilà aprsè j'y connais rien en postgres, et en java....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Select * from ARTICLE A WHERE To_DATE(A.date_parution,'dd/mm/yyyy') > '26/08/2005'
bye
Je pense que tu n'as pas besoin de convertir ton champ date ( car il est déjà au format "date" ).
Le fait de comparer une date à une chaine de caractère, implique que la chaine de caractère sera transformée en Date. Je pense ( sans avoir vu les spécifications ) que ça fait partie d'une spécification de SQL, mais je peux me tromper..
Le seul format de DATE sur lequel se repose SQL est le format ISO :
AAAA-MM-JJ
A lire : http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L7
A +
Merci pour l'information SQLPro, j'ai toujours utilisé "dd/mm/yyyy" mais je vois que ce n'est pas conforme au format ISO j'utiliserais yyyy-mm-dd Mais ça ne change rien d'omettre l'heure, ou penses-tu qu'il vaut mieux toujours la préciser ?
tout dépend si tu veut la correspondance avec heure ou date seulement.
A +
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager