[résolu][sql] Requête avec WHERE

  • Auteur de la discussion Auteur de la discussion OTP
  • Date de début Date de début
WRInaute accro
Bonsoir,

Je cherche à faire une requête pour obtenir les enregistrements pour lesquelles le champ "date" vaut, par exemple 1992, sachant que le champ n'est pas formaté comme une date mais comme un texte, par exemple comme suit :

2002, 2002/11, 1995, 2001/05/28...

Comment écrire ce qui suit le WHERE dans la requête ?

Merci d'avance,

Michaël
 
WRInaute passionné
mon conseil : formate ton champ date comme il faut car même après tu auras besoin d'un index qui sera beaucoup plus optimisé ...
 
WRInaute accro
J'aimerais vraiment éviter de passer par ce point (trop de trucs à changer ; je sais, je traîne un boulet...)
 
WRInaute passionné
je connais ce sentiment ...

tu sais que tu dois le faire, c'est pour ton bien et malgré cela, tu le fais pas ...
 
WRInaute impliqué
tu peux 'convertir' le type d'un champ à l'aide de CAST()

Ainsi, CAST(champ AS DATE) devrait te permettre d'utiliser > < et BETWEEN
 
WRInaute accro
Ok, je vais regarder merci.
Mais il n'y a pas un truc simple pour prendre les 4 premiers caractères du contenu du champ ?

Edit : je regarde LEFT(str,len) ...
 
Discussions similaires
Haut