Message posté par : p.robledo
----------------------------------------
Bonjour Aline,
Navré pour la réponse tardive :
Voici la requête qui fait apparaitre les différentes corrections lors de la concaténation
de l'identifiant parcellaire. Je ne suis pas certain d'avoir repéré tous les cas
de figures mais ça couvre déjà pas mal.
A +
Paul
--
CONCAT("Code de la commune du lieu des travaux", '000',
CASE
-- Inverser si sec_cadastre1 a 2 caractères (lettre et zéro) et
num_cadastre1 contient 4 chiffres et éventuellement une lettre
WHEN LENGTH(sec_cadastre1) = 2
AND LEFT(sec_cadastre1, 1) ~ '[A-Za-z]'
AND RIGHT(sec_cadastre1, 1) = '0'
AND LENGTH(num_cadastre1) >= 4
AND num_cadastre1 ~ '^[0-9]{4}([A-Za-z])?$' THEN
CONCAT('0',LEFT(sec_cadastre1, 1)) -- Inverser les
caractères
-- Inverser si sec_cadastre1 a 2 caractères (un zéro et une
lettre)
WHEN LENGTH(sec_cadastre1) = 2
AND LEFT(sec_cadastre1, 1) = '0'
AND RIGHT(sec_cadastre1, 1) ~ '[A-Za-z]' THEN
CONCAT(RIGHT(sec_cadastre1, 1), '0') -- Inverser les
caractères
-- Ajouter un zéro si un seul caractère
WHEN LENGTH(sec_cadastre1) = 1 THEN CONCAT('0',
sec_cadastre1)
ELSE sec_cadastre1
END,
CASE
WHEN RIGHT(num_cadastre1, 1) ~ '[A-Za-z]' THEN
RIGHT(LPAD(num_cadastre1, 5, '0'), 5) -- 5 derniers
caractères si termine par une lettre
ELSE
RIGHT(LPAD(num_cadastre1, 4, '0'), 4) -- 4 derniers
caractères si ne termine pas par une lettre
END
)
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=370303#p370303
Pour y répondre : geomatique(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net