Bonjour,
dans ma table carte, j'ai une donnée finval de type varchar(4) (ex: 0209=fevrier 2009).

seulement, je sois faire une requete qui me resors toutes les dates supérieures à '0110'. mais j'ai pas le bon résultat. Ne faut-il pas q je convertisse la date? si oui? comment la convertir?

merci;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
select  
select a.FINVAL
from carte a
where (a.CAR_FINVAL >  date('0110'))
Il aurait fallu que vos codification soient de la forme AAmm et non MMAA qui n'a aucun sens.

De fait vous êtes obligé de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
WHERE SUBSTRING(a.CAR_FINVAL, 3, 2) + SUBSTRING(a.CAR_FINVAL, 1, 2) > SUBSTRING('0110', 3, 2) + SUBSTRING('0110', 1, 2)
Ce qui va être épouvantablement contre performant !

A +

A cette requete
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
select CAR_FINVAL from gbs_carte
where (SUBSTR(CAR_FINVAL, 3, 2) + SUBSTR(CAR_FINVAL, 1, 2) > SUBSTR('0110', 3, 2) + SUBSTR('0110', 1, 2));
, j'ai le résultat ci dessous:
0510
0909
0909
0211
0310
0710
1010
0410
0710
0609
j'utilise oracle sql+

Citation Envoyé par carmella Voir le message
j'utilise oracle sql+
Tu es dans un forum SQL Server

Bonsoir!
pouvez vous mettre mon message dans Oracle-SQP plus?
Merci.