Problème comparaison de date sur 4 caractères
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:
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:
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:
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:
Citation:
0510
0909
0909
0211
0310
0710
1010
0410
0710
0609
j'utilise oracle sql+
Citation:
Envoyé par
carmella
j'utilise oracle sql+
Tu es dans un forum SQL Server
Bonsoir!
pouvez vous mettre mon message dans Oracle-SQP plus?
Merci.:oops: