UPPER(RIGHT(REVERSE(codeLabel))) pkoi faire ??? - SQL/NoSQL - Programmation
MarshPosté le 03-02-2005 à 15:30:41
Salut,
Je suis en train de faire des modifs dans une appli, et je suis tombé sur un truc bizarre dans une procédure stockée...
La procédure stockée scanne la liste des labels dans une base de données, afin de générer un index (en reprenant la première lettre).
Voici la requête :
Code :
-- indexation par Code,
select UPPER(RIGHT(REVERSE(codeLabel),1)) as alpha
from zLabel
where zLabel.orgid = @orgid
and (typeLabel = @labelType or @labelType = 0)
and (activeLabel = 'A' or @iWithInactifs = 1)
group by UPPER(RIGHT(REVERSE(codeLabel),1))
order by UPPER(RIGHT(REVERSE(codeLabel),1))
Est-ce que vous avez une idée de la raison du pourquoi du comment de ce "RIGHT(REVERSE())" ?
A la base, un "LEFT()" m'aurai semblé à la fois plus naturel, et je suis convaincu que c'est plus rapide. Cependant, il doit y avoir une bonne raison pour avoir fait ça (parceque ça s'invente pas !)
Il y a quelques mois encore, l'appli était sous SQL Server 6.5. Maintenant, elle est sous 2000.
D'après la personne avec qui je bosse sur l'appli, c'était déjà comme ça quand il est arrivé (il y a quelques années), et il n'a donc aucune idée de la raison de cette manip étrange. Le champ est de type VARCHAR(255)
Marsh Posté le 03-02-2005 à 15:30:41
Salut,
Je suis en train de faire des modifs dans une appli, et je suis tombé sur un truc bizarre dans une procédure stockée...
La procédure stockée scanne la liste des labels dans une base de données, afin de générer un index (en reprenant la première lettre).
Voici la requête :
Est-ce que vous avez une idée de la raison du pourquoi du comment de ce "RIGHT(REVERSE())" ?
A la base, un "LEFT()" m'aurai semblé à la fois plus naturel, et je suis convaincu que c'est plus rapide.
Cependant, il doit y avoir une bonne raison pour avoir fait ça (parceque ça s'invente pas !)
Il y a quelques mois encore, l'appli était sous SQL Server 6.5. Maintenant, elle est sous 2000.
D'après la personne avec qui je bosse sur l'appli, c'était déjà comme ça quand il est arrivé (il y a quelques années), et il n'a donc aucune idée de la raison de cette manip étrange.
Le champ est de type VARCHAR(255)