Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memformat Nombor Lencana Pekerja dengan Sifar Utama dalam Pelayan SQL?
SQL Server: Menambahkan Sifar Utama pada Nombor Lencana Pekerja
Panduan ini menangani cabaran SQL Server biasa untuk memaparkan nombor lencana pekerja (sebelum ini disimpan sebagai rentetan enam digit) dengan sifar pendahuluan, walaupun selepas menukar jenis storan kepada integer untuk kecekapan.
Berikut ialah beberapa teknik SQL untuk mencapai pemformatan ini dalam pertanyaan:
REPLICATE
untuk Menambah Sifar Utama: Fungsi REPLICATE
menambahkan sifar pendahuluan dengan cekap. Untuk nombor lencana enam digit yang disimpan sebagai integer (EmployeeID
), pertanyaan berikut menambah sifar yang diperlukan:<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(EmployeeID)) + CAST(EmployeeID AS VARCHAR(6))</code>
Perhatikan hantaran eksplisit pada VARCHAR(6)
untuk memastikan penyambungan rentetan berfungsi dengan betul.
RTRIM
: Jika anda lebih suka penukaran tersirat, RTRIM
boleh digunakan sebelum memohon REPLICATE
:<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(RTRIM(EmployeeID))) + RTRIM(EmployeeID)</code>
Walau bagaimanapun, pemutus eksplisit (seperti yang ditunjukkan dalam contoh sebelumnya) biasanya diutamakan untuk kejelasan dan untuk mengelakkan kemungkinan tingkah laku yang tidak dijangka.
RIGHT
dan PATINDEX
: Untuk mengekstrak nilai integer asal (tanpa sifar pendahuluan) daripada rentetan yang diformat, gunakan fungsi RIGHT
bersama dengan PATINDEX
untuk cari aksara bukan sifar pertama:<code class="language-sql">SELECT RIGHT(EmployeeID, (LEN(EmployeeID) - PATINDEX('%[^0]%', EmployeeID)) + 1)</code>
Kaedah ini menyediakan pilihan yang fleksibel untuk mengurus pemformatan nombor lencana pekerja dalam pertanyaan SQL Server, mengimbangi storan data yang cekap dengan keperluan untuk paparan yang konsisten dengan sifar pendahuluan.
Atas ialah kandungan terperinci Bagaimana untuk Memformat Nombor Lencana Pekerja dengan Sifar Utama dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!