Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[SQL] Ajouter 1 à une lettre

3 réponses
Avatar
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

3 réponses

Avatar
bruno reiter
Sans doute le mieux est de créer une fonction scalaire utilisateur.
voir aide CREATE FUNCTION

BR

"Harfang" wrote in message
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




Avatar
Jean-Nicolas BERGER
> 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
Avatar
Harfang
"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.