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
Partager