
Untuk mengalih keluar sifar pendahuluan daripada lajur dalam SQL Server, kaedah tradisional ialah menggunakan gabungan fungsi SUBSTRING dan fungsi PATINDEX. Walau bagaimanapun, pendekatan ini mungkin menghadapi masalah apabila berurusan dengan lajur yang mengandungi hanya "0" aksara.
Untuk mengatasi had ini, penyelesaian yang lebih mantap ialah menambahkan noktah (.) pada penghujung rentetan yang diperiksa:
<code class="language-sql">SUBSTRING(str_col, PATINDEX('%[^0]%', str_col+'.'), LEN(str_col))</code>Tempoh ini memastikan PATINDEX akan sentiasa mencari padanan aksara bukan "0", walaupun untuk lajur yang hanya mendahului sifar.
Cara lain ialah menggunakan fungsi TRIM dan REPLACE:
<code class="language-sql">REPLACE(LTRIM(REPLACE(str_col, '0', ' ')), ' ', '0')</code>
Walau bagaimanapun, kaedah ini memerlukan berhati-hati apabila berurusan dengan ruang terbenam. Untuk mengelak daripada menukar ruang kepada "0", anda boleh menggunakan fungsi takrif pengguna skalar tersuai (UDF). UDF skalar boleh menyebabkan isu prestasi dalam SQL Server 2005, jadi disyorkan untuk mempertimbangkan kaedah lain jika boleh.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memangkas Sifar Utama dengan Cekap daripada Lajur Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Nombor halaman perkataan bermula dari halaman ketiga sebagai 1 tutorial
Tiga kaedah pengekodan yang biasa digunakan
Penggunaan fungsi terima
Apakah enjin aliran kerja java yang ada?
Bagaimana untuk mengikat data dalam senarai lungsur
Apakah perisian pengaturcaraan bahasa C?
Apakah itu CONNECTION_REFUSED
Bagaimana untuk menyelesaikan 400 permintaan buruk