Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak dodać wiodące zera do liczby w MySQL?

Podczas pracy z MySQL możesz od czasu do czasu napotkać sytuacje, w których musisz uzupełnić kilka liczb wiodącymi zerami.

Być może masz wymóg, aby wszystkie liczby miały trzy cyfry, ale w danych, które otrzymałeś, liczby mają zakres od jednej cyfry do dwóch, a może nawet trzech cyfr. Twoim wymaganiem może być wypełnienie wszystkich liczb wiodącymi zerami, ale tylko w celu uzupełnienia wszelkich braków w trzycyfrowym wymogu.

LPAD() funkcja robi dokładnie to, co chcesz w tym scenariuszu.

Funkcja LPAD()

Ściśle mówiąc, LPAD() funkcja dopełnia ciąg innym ciągiem. Działa to tak:

LPAD(str,len,padstr)

Gdzie str jest ciągiem do wypełnienia, len to wymagana długość wyniku końcowego, a padstr jest ciągiem, który zostanie użyty do uzupełnienia drugiego ciągu.

Przykład

Oto przykład uzupełnienia liczby jednocyfrowej dwoma zerami:

SELECT LPAD(7, 3, 0);

Wynik:

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

W tym przypadku dodano dwa wiodące zera, ponieważ określiliśmy 3 jako wymaganą długość.

Jeśli więc zaczynamy od liczby dwucyfrowej, dodawane jest tylko jedno zero:

SELECT LPAD(17, 3, 0);

Wynik:

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

Wartości niezerowe

LPAD() funkcja nie ogranicza się tylko do zer. Jak wspomniano, można go użyć do uzupełnienia dowolnego ciągu dowolnym innym ciągiem. Możesz więc uzupełnić liczbę z wiodącymi jedynkami, wiodącymi literami lub innymi symbolami, jeśli to konieczne.

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

Wynik:

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

A ponieważ jest to w rzeczywistości funkcja łańcuchowa, może być używana do wypełniania dowolnego łańcucha nienumerycznego. I nie ogranicza się tylko do jednego znaku wypełniającego – w razie potrzeby można go uzupełnić wieloma znakami:

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

Wynik:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL vs MySQL, porównanie

  2. Zarządzanie kontami użytkowników, role, uprawnienia, uwierzytelnianie PHP i MySQL - Część 2

  3. Jak najlepiej wykorzystać funkcję komentowania w MySQL?

  4. #1273 — Nieznane sortowanie:„utf8mb4_unicode_ci” cPanel

  5. Czy używać SET NAMES