Tja, jag hade liknande problem med LPAD, det var trunkering av nummer till dess längd på dynan. Enligt https://dev.mysql.com /doc/refman/8.0/en/string-functions.html#function_lpad det är förväntat resultat.
Såvitt jag kan se nämnde ingen svar som löste mitt problem:
LPAD(id, GREATEST(LENGTH(id), 4), "0")
Det fungerar som förväntat. Utfyller alla id
är kortare än 4 tecken med 0 och returnerar oförändrat id
s som är längre än 4 tecken.
Jag lämnar mitt svar här för andra som kommer att hitta den här frågan i framtiden.