Di bawah ini adalah contoh penambahan angka nol di depan pada SQL, menggunakan berbagai DBMS.
Oracle
Oracle memiliki TO_CHAR(number)
fungsi yang memungkinkan kita untuk menambahkan angka nol di depan suatu angka. Ini mengembalikan hasilnya sebagai string dalam format yang ditentukan.
SELECT TO_CHAR(7, '000')
FROM DUAL;
Hasil:
007
0
elemen format adalah apa yang menghasilkan nol di depan. Jika kita tidak ingin angka nol di depan, kita bisa menggunakan 9
.
Berikut perbandingan antara 0
dan 9
untuk menunjukkan apa yang saya maksud:
SELECT
TO_CHAR(1234.456, '000G000D00') AS "0",
TO_CHAR(1234.456, '999G999D99') AS "9"
FROM DUAL;
Hasil:
0 9 ______________ ______________ 001,234.46 1,234.46
G
adalah untuk pemisah grup dan D
adalah untuk pemisah desimal. Lihat daftar elemen format angka ini untuk daftar lengkapnya.
Oracle juga memiliki LPAD()
fungsi yang memungkinkan kita untuk mengisi angka dengan nol di depan (atau karakter lainnya). Lihat 2 Cara Memformat Angka dengan Nol Awal di Oracle sebagai contoh.
PostgreSQL
PostgreSQL juga memiliki TO_CHAR()
fungsi, dan berfungsi seperti fungsi Oracle dengan nama yang sama:
SELECT TO_CHAR(7, '000');
Hasil:
007
Dan inilah perbandingan antara 0
dan 9
:
SELECT
TO_CHAR(1234.456, '000G000D00') AS "0",
TO_CHAR(1234.456, '999G999D99') AS "9";
Hasil:
0 | 9 -------------+------------- 001,234.46 | 1,234.46
Lihat Pola &Pengubah Template untuk Pemformatan Numerik di Postgres untuk daftar lengkap pola template yang dapat digunakan dengan fungsi ini di PostgreSQL.
Seperti Oracle, PostgreSQL juga memiliki LPAD()
fungsi yang memungkinkan kita untuk memasukkan angka dengan angka nol di depan. Lihat 2 Cara untuk Menambahkan Angka Nol di PostgreSQL sebagai contoh.
MySQL
MySQL memiliki LPAD()
fungsi yang memungkinkan kita untuk mengisi bagian kiri string atau angka dengan karakter atau rangkaian karakter yang kita pilih. Oleh karena itu, kita dapat menggunakannya untuk mengisi nomor kita dengan nol:
SELECT LPAD(7, 3, 0);
Hasil:
007
Untungnya, kami dapat meneruskan nomor tersebut sebagai tipe numerik, jadi tidak perlu mengubahnya menjadi string terlebih dahulu.
Lihat Cara Menambahkan Angka Nol Awal ke Angka di MySQL untuk informasi selengkapnya.
MariaDB
Seperti MySQL, MariaDB juga memiliki LPAD()
fungsi yang memungkinkan kita untuk mengisi bagian kiri string atau angka dengan karakter atau rangkaian karakter yang kita pilih:
SELECT LPAD(7, 3, 0);
Hasil:
007
Dan seperti halnya MySQL, kita dapat meneruskan nomor sebagai tipe numerik, jadi tidak perlu mengubahnya menjadi string terlebih dahulu.
Lihat Cara Menambahkan Angka dengan Angka Nol di MariaDB untuk informasi selengkapnya.
SQL Server
SQL Server memiliki FORMAT()
fungsi yang memungkinkan kita untuk memformat angka menggunakan string format:
SELECT FORMAT(7, '000');
Hasil:
007
Ini dia dengan pemisah grup dan pemisah desimal:
SELECT FORMAT(1234, '0,000.00');
Hasil:
1,234.00
Lihat Menambahkan Leading &Trailing Zeros di SQL Server untuk informasi selengkapnya.
SQLite
SQLite memiliki PRINTF()
fungsi yang dapat digunakan untuk menambahkan angka nol di depan suatu bilangan:
SELECT PRINTF('%03d', 7);
Hasil:
007
Lihat Cara Memformat Angka dengan Nol Awal di SQLite untuk penjelasannya.
Perbarui :SQLite 3.38.0 (dirilis 22 Feb 2022) berganti nama menjadi PRINTF()
berfungsi untuk FORMAT()
. PRINTF()
asli nama dipertahankan sebagai alias untuk kompatibilitas mundur.
Jadi contoh di atas bisa diubah menjadi ini:
SELECT FORMAT('%03d', 7);
Hasil:
007