SQL Server: Menambahkan Sifar Utama pada Nombor
Pemformatan berangka yang betul adalah penting untuk pembentangan data yang jelas dan integriti pangkalan data. SQL Server menawarkan beberapa pendekatan untuk memformat nombor, termasuk menambah sifar pendahuluan untuk pelapik.
Bayangkan jadual SQL Server 2000 yang lebih lama menyimpan nombor ID pekerja sebagai char(6)
(cth., 000001 hingga 999999). Jadual yang lebih baharu dan lebih cekap menyimpan ID ini sebagai integer. Untuk memaparkan integer ini dengan sifar pendahuluan, gunakan fungsi SQL seperti REPLICATE()
, RTRIM()
dan RIGHT()
.
Berikut ialah cara untuk mencapai ini:
Menggunakan REPLICATE()
:
<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(EmployeeId)) + CAST(EmployeeId AS VARCHAR(6))</code>
Ini menggabungkan sifar menuju ke medan EmployeeId
, memastikan output enam aksara. Fungsi CAST
adalah penting untuk mengelakkan ralat jenis data.
Menggunakan RTRIM()
(untuk ruang belakang yang berpotensi):
<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(RTRIM(EmployeeId))) + RTRIM(EmployeeId)</code>
Ini mengendalikan ruang mengekor yang berpotensi dalam EmployeeId
sebelum menambah sifar pendahuluan.
Mengalih keluar Sifar Utama (jika perlu):
<code class="language-sql">SELECT CAST(EmployeeId AS INT)</code>
Hanya menghantar nilai kembali kepada integer akan mengalih keluar semua sifar pendahuluan, memulihkan nilai berangka asal. Sebagai alternatif, pendekatan yang lebih kompleks menggunakan PATINDEX()
boleh digunakan, tetapi pelakon mudah adalah lebih cekap.
Kaedah ini menyediakan kawalan fleksibel ke atas pemformatan berangka dalam SQL Server, memastikan ketepatan data dan kebolehbacaan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memformat Integer dengan Sifar Utama dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!