Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment ajouter des zéros non significatifs à un nombre dans MySQL

Lorsque vous travaillez avec MySQL, vous pouvez parfois rencontrer des situations où vous devez remplir un tas de nombres avec des zéros non significatifs.

Vous avez peut-être besoin que tous les nombres aient trois chiffres, mais dans les données qui vous ont été fournies, les nombres vont d'un seul chiffre à deux, voire trois chiffres. Votre exigence peut être de remplir tous les nombres avec des zéros non significatifs, mais uniquement pour compenser tout manque dans l'exigence à trois chiffres.

Le LPAD() la fonction fait exactement ce que vous voulez dans ce scénario.

La fonction LPAD()

Strictement parlant, le LPAD() fonction remplit une chaîne avec une autre chaîne. Cela fonctionne comme ceci :

LPAD(str,len,padstr)

str est la chaîne à remplir, len est la longueur requise du résultat final, et padstr est la chaîne qui sera utilisée pour remplir l'autre chaîne.

Exemple

Voici un exemple de remplissage d'un nombre à un chiffre avec deux zéros :

SELECT LPAD(7, 3, 0);

Résultat :

+---------------+
| LPAD(7, 3, 0) |
+---------------+
| 007           |
+---------------+

Dans ce cas, deux zéros non significatifs ont été ajoutés car nous avons spécifié 3 comme longueur requise.

Donc, si nous commençons avec un nombre à deux chiffres, un seul zéro est ajouté :

SELECT LPAD(17, 3, 0);

Résultat :

+----------------+
| LPAD(17, 3, 0) |
+----------------+
| 017            |
+----------------+

Valeurs non nulles

Le LPAD() la fonction n'est pas limitée à des zéros. Comme mentionné, il peut être utilisé pour remplir n'importe quelle chaîne avec n'importe quelle autre chaîne. Ainsi, vous pouvez remplir un numéro avec des 1 en tête, des lettres en tête ou d'autres symboles si nécessaire.

SELECT LPAD(7, 10, '.');

Résultat :

+------------------+
| LPAD(7, 10, '.') |
+------------------+
| .........7       |
+------------------+

Et comme il s'agit en fait d'une fonction de chaîne, elle peut être utilisée pour remplir n'importe quelle chaîne non numérique. Et il n'est pas limité à un seul caractère de remplissage - il peut être rempli avec plusieurs caractères si nécessaire :

SELECT LPAD('Cat', 21, 'Meow! ') AS Result;

Résultat :

+-----------------------+
| Result                |
+-----------------------+
| Meow! Meow! Meow! Cat |
+-----------------------+