Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

LPAD dengan nol di depan

Saya pikir Anda harus mempertimbangkan bahwa pedoman yang Anda baca berlaku untuk bagaimana faktur harus ditampilkan , dan bukan bagaimana seharusnya disimpan dalam basis data.

Ketika sebuah angka disimpan sebagai INT, itu adalah angka murni. Jika Anda menambahkan nol di depan dan menyimpannya lagi, itu masih nomor yang sama.

Anda dapat memilih bidang NUMER sebagai berikut, atau membuat tampilan untuk tabel tersebut:

SELECT LPAD(NUMER,6,'0') AS NUMER
FROM ...

Atau, daripada mengubah data saat Anda memilihnya dari database, pertimbangkan untuk mengisi angka dengan nol saat Anda menampilkannya, dan hanya saat Anda menampilkannya.

Saya pikir persyaratan Anda untuk data historis tetap sama adalah poin yang bisa diperdebatkan. Bahkan untuk data historis, invoice bernomor 001203 sama dengan invoice bernomor 1203.

Namun, jika Anda benar-benar harus melakukannya seperti yang Anda gambarkan, maka mengonversi ke bidang VARCHAR mungkin berhasil. Data historis yang dikonversi dapat disimpan apa adanya, dan setiap entri baru dapat ditambahkan ke jumlah nol yang diperlukan. Tapi saya tidak menyarankan itu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 50 Pertanyaan Wawancara MySQL Teratas yang Harus Anda Siapkan Pada Tahun 2022

  2. Bagaimana Operator SUARA SEPERTI Bekerja di MySQL

  3. Seseorang telah meretas database saya - bagaimana caranya?

  4. Bagaimana cara menggunakan REGEXP dengan urutan pelarian seperti batas kata?

  5. Bagaimana cara membuat id (bertambah otomatis) di Mysql dengan string yang digabungkan dengannya? hanya menggunakan php