Bonjour,

J'aimerais passer trois paramètres dans une requête oracle : l'un pour récupérer le jour, l'autre le mois et le dernier, l'année.

Voici ma syntaxe :

SELECT
OPRID,
QRYNAME,
COUNT(QRYNAME) AS "c1",
TO_NUMBER(TO_CHAR(DATETIME_ADDED, 'YYYY')) AS "c2",
TO_CHAR(DATETIME_ADDED, 'MONTH') AS "c3",
TO_NUMBER(TO_CHAR(DATETIME_ADDED, 'DD')) AS "c5"

FROM
PS_MI_TBL T1

WHERE
(DATETIME_ADDED >= TO_DATE('2004-04-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'))
AND
(TO_NUMBER(TO_CHAR(DATETIME_ADDED, 'YYYY'))
= TO_NUMBER(': annee'))

AND
(TO_CHAR(DATETIME_ADDED, 'MONTH') = ': mois')
AND
(TO_NUMBER(TO_CHAR(DATETIME_ADDED, 'DD'))
= TO_NUMBER(': jour'))

GROUP BY
TO_NUMBER(TO_CHAR(DATETIME_ADDED, 'DD')),
TO_NUMBER(TO_CHAR(DATETIME_ADDED, 'YYYY')),
TO_NUMBER(TO_CHAR(DATETIME_ADDED, 'MM')),
TO_CHAR(DATETIME_ADDED, 'MONTH'),
OPRID,
QRYNAME

ORDER BY "c2", "c3", "c5"

L'erreur annoncée est une erreur ORA 01722, soit un invalid number.

Est-ce que quelqu'un pourrait m'aider à débugger cette query ?!

Merci à tous.

BOOtny