Bonjour,
J'aimerais savoir s'il ya une fonction dans postgres qui permet de comparer 2 dates ??
merci
Version imprimable
Bonjour,
J'aimerais savoir s'il ya une fonction dans postgres qui permet de comparer 2 dates ??
merci
Salut,
< et >
Comme des chiffres :)
A+
au fait j'ai 2 colonnes dans ma table et j'aimerais savoir quelle est la date max entre eux ??
avec CASE...
Code:CASE WHEN date1 > date2 THEN date1 ELSE date2 END
j'ai essayé ceci mais ça n'a pas marché
select id from hotqueues
CASE WHEN timecreated>timeshiped THEN timecreated ELSE timeshiped END
:cry:
CASE n'est pas une clause de la commande SELECT, mais un opérateur...Citation:
Envoyé par haffouff
J'avais compris que tu voulais, pour chaque ligne, retourner la plus grande des deux dates...
Code:
1
2
3 SELECT id , CASE WHEN timecreated>timeshiped THEN timecreated ELSE timeshiped END FROM hotqueues
Oui merci j'ai essayé ceci et ça a marché
select id ,CASE WHEN timecreated>timeshiped THEN timecreated ELSE timeshiped END as date
from hotqueues
Bon j'ai encore un probleme lorsque j'ajoute une where
select
case when timecreated>timeshiped then timecreated
else timeshiped end as date
from hotqueues
where date>112223344
group by date
postgres me retourne l'erreur suivante : column date does not exist ??
DATE n'est pas un mot réservé dans postgresql ?
Il ne supporte peut-être pas l'utilisation d'alias de colonne dans les clauses GROUP BY ou WHERE.
Tu as alors deux solutions :
Soit répéter ton expression dans le WHERE et/ou le GROUP BY
Soit faire une requête à deux étages :Code:
1
2
3
4 SELECT CASE WHEN timecreated>timeshiped THEN timecreated ELSE timeshiped END AS maxdate FROM hotqueues WHERE CASE WHEN timecreated>timeshiped THEN timecreated ELSE timeshiped END > ... GROUP BY CASE WHEN timecreated>timeshiped THEN timecreated ELSE timeshiped END
PS: Noublie pas les balises [ CODE ] [ /CODE ]Code:
1
2
3
4
5 SELECT maxdate FROM (SELECT CASE WHEN timecreated>timeshiped THEN timecreated ELSE timeshiped END AS maxdate FROM hotqueues) WHERE maxdate > ... GROUP BY maxdate
j'ai essayé la première solution et ça a marché:lol:
A noter que ce n'est pas nécessaire de resaisir le traitement dans GROUP BY puisqu'elle reconnais mon ALIAS.