Saat bekerja dengan MySQL, Anda mungkin kadang-kadang menghadapi situasi di mana Anda perlu memasukkan banyak angka dengan nol di depan.
Mungkin Anda memiliki persyaratan bahwa semua angka memiliki tiga digit, tetapi dalam data yang Anda berikan, angka berkisar dari satu digit, hingga dua, dan mungkin tiga digit. Persyaratan Anda mungkin untuk mengisi semua angka dengan nol di depan, tetapi hanya untuk menutupi kekurangan dalam persyaratan tiga digit.
LPAD()
function melakukan persis seperti yang Anda inginkan dalam skenario ini.
Fungsi LPAD()
Sebenarnya, LPAD()
fungsi mengisi string dengan string lain. Ini bekerja seperti ini:
LPAD(str,len,padstr)
Dimana str
adalah string untuk pad, len
adalah panjang yang dibutuhkan dari hasil akhir, dan padstr
adalah string yang akan digunakan untuk mengisi string lainnya.
Contoh
Berikut ini contoh pengisian satu digit angka dengan dua nol:
SELECT LPAD(7, 3, 0);
Hasil:
+---------------+ | LPAD(7, 3, 0) | +---------------+ | 007 | +---------------+
Dalam hal ini, dua angka nol di depan ditambahkan karena kami menetapkan 3
sebagai panjang yang dibutuhkan.
Jadi jika kita mulai dengan angka dua digit, hanya satu nol yang ditambahkan:
SELECT LPAD(17, 3, 0);
Hasil:
+----------------+ | LPAD(17, 3, 0) | +----------------+ | 017 | +----------------+
Nilai Bukan Nol
LPAD()
fungsi tidak terbatas hanya pada nol. Seperti yang disebutkan, ini dapat digunakan untuk melapisi string apa pun dengan string lainnya. Jadi, Anda dapat mengisi angka dengan 1 di depan, atau huruf di depan, atau simbol lain jika diperlukan.
SELECT LPAD(7, 10, '.');
Hasil:
+------------------+ | LPAD(7, 10, '.') | +------------------+ | .........7 | +------------------+
Dan karena ini sebenarnya adalah fungsi string, ini dapat digunakan untuk mengisi string non-numerik apa pun. Dan itu tidak terbatas hanya pada satu karakter pengisi – dapat diisi dengan beberapa karakter jika perlu:
SELECT LPAD('Cat', 21, 'Meow! ') AS Result;
Hasil:
+-----------------------+ | Result | +-----------------------+ | Meow! Meow! Meow! Cat | +-----------------------+