[SQL] Ajouter 1 à une lettre

Le
Harfang
Bonjour,

J'ai un champ avec une suite de 4 lettres, du style AACD, AAAA, ABEF, ce
genre de chose. Y a t-il moyen en SQL de rajouter 1 à cette suite de lettres
et de remettre ça en lettres ? Par exemple AACD deviendrait AACE, et AAAZ
deviendrait AABA ?

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
bruno reiter
Le #17956031
Sans doute le mieux est de créer une fonction scalaire utilisateur.
voir aide CREATE FUNCTION

BR

"Harfang" news:
Bonjour,

J'ai un champ avec une suite de 4 lettres, du style AACD, AAAA, ABEF, ce
genre de chose. Y a t-il moyen en SQL de rajouter 1 à cette suite de
lettres et de remettre ça en lettres ? Par exemple AACD deviendrait AACE,
et AAAZ deviendrait AABA ?

Merci




Jean-Nicolas BERGER
Le #17961801
> J'ai un champ avec une suite de 4 lettres, du style AACD, AAAA, ABEF, ce
genre de chose. Y a t-il moyen en SQL de rajouter 1 à cette suite de
lettres et de remettre ça en lettres ? Par exemple AACD deviendrait AACE,
et AAAZ deviendrait AABA ?



J'aurais tendance à considérer ça comme une numérotation en base 26.
Poids 1 pour la lettre de droite
Poids 26 pour la deuxième en partant de la droite
Poids 26x26g6 pour la troisième et ainsi de suite.

Donc en convertissant la suite de lettres en entier avec des
multiplications, puis en ajoutant 1, puis en reconvertissant en lettres avec
des modulo, ça devrait être jouable.

On peut aussi tranquillement se faire une petite fonction avec des IF
...='Z' ...

Mais d'un point de vue SQL, ce style de codage est-il vraiment à sa place?
Pourquoi ne pas utiliser un bête nombre entier? A noter que vous pouvez
toujours ajouter une colonne calculée avec la fameuse formule aux modulo...

JN BERGER
Harfang
Le #17962991
"Jean-Nicolas BERGER" <noreply> a écrit dans le message de groupe de
discussion : 492c8061$0$27384$
Mais d'un point de vue SQL, ce style de codage est-il vraiment à sa place?
Pourquoi ne pas utiliser un bête nombre entier? A noter que vous pouvez
toujours ajouter une colonne calculée avec la fameuse formule aux
modulo...



En fait pourquoi pas un nombre entier ? Parce que je n'ai pas vraiment le
choix, c'est un codage en lettres pour du lettrage en comptabilité. Mais
finalement je ne fais pas ça en SQL, je me suis fait des fonctions sous
Access pour faire le codage.
Publicité
Poster une réponse
Anonyme