Fondamentalement j'ai la requête suivante qui fonctionne mais ne donne pas les bonnes données:opérations de table SQL TO_DATE
SELECT a.* FROM
(SELECT a.*, rownum rnum FROM (
SELECT
edate.expiration_date
FROM
...
(SELECT To_Date(c.Value, 'MM/DD/YYYY HH24:MI:SS') expiration_date
FROM ...) edate
) a WHERE rownum <= 20)
a WHERE rnum >= 1 AND
expiration_date < to_date('1/29/2010', 'MM/DD/YYYY HH24:MI:SS')
La raison pour laquelle il ne fonctionne pas est que parce que les évaluations rownum/RNUM sont fait en même temps que le contrôle de date, il ne reçoit que les rownums (par exemple) 1, 4, 6, 9 qui ont des dates antérieures au 29/01/2010, au lieu des 20 premières dates qui ont une date inférieure à 1/29/2010.
Donc, fondamentalement, la zone
expiration_date < to_date('1/29/2010', 'MM/DD/YYYY HH24:MI:SS')
doit être mis à l'intérieur des SELECTs internes, mais chaque fois que j'essaie de le faire je reçois une erreur mois invalide . Comment puis-je convertir les sélections ou les sous-requêtes en to_date
s pour que cela fonctionne?
"J'ai la requête suivante qui fonctionne mais ne donne pas les bonnes données" est une définition intéressante d'une requête qui fonctionne;) – APC
Toutes vos valeurs de données sont-elles des dates valides? – PenFold