SQL Server: Menggabungkan LIKE
dan IN
untuk Penapisan Data
Artikel ini meneroka penggunaan berkesan kedua-dua operator LIKE
dan IN
dalam satu pertanyaan SQL Server untuk penapisan data yang diperhalusi. Adalah penting untuk ambil perhatian bahawa menggabungkan pengendali ini secara langsung tidak mudah, kerana interaksi mereka berbeza daripada menggunakan berbilang kad bebas dengan LIKE
.
Memahami IN
Operator
Pengendali IN
dengan cekap membandingkan lajur dengan set nilai yang ditentukan. Contohnya:
<code class="language-sql">SELECT * FROM MyTable WHERE MyColumn IN (1, 2, 3);</code>
Pertanyaan ini mendapatkan semula semua baris yang MyColumn
mengandungi 1, 2 atau 3.
Cabaran Menggabungkan LIKE
dan IN
Walaupun nampak logik untuk menggabungkan LIKE
dan IN
secara langsung, pendekatan ini tidak disokong secara langsung. Operator IN
berfungsi sebagai satu siri syarat OR
. Oleh itu:
<code class="language-sql">SELECT * FROM MyTable WHERE MyColumn LIKE IN ('Text%', 'Link%', 'Hello%', '%World%'); -- Incorrect</code>
bukan SQL yang sah. Ia tidak berkelakuan seperti menggunakan berbilang kad bebas.
Pendekatan yang Betul: Menggunakan Pelbagai OR
Syarat
Untuk mencapai penapisan yang diingini, gunakan syarat LIKE
berasingan yang disertai oleh OR
:
<code class="language-sql">SELECT * FROM MyTable WHERE MyColumn LIKE 'Text%' OR MyColumn LIKE 'Hello%' OR MyColumn LIKE 'That%';</code>
Ini dengan betul mengembalikan baris yang MyColumn
mengandungi 'Teks', 'Helo' atau 'Itu' sebagai subrentetan, di mana-mana sahaja dalam nilai lajur. Kaedah ini menyediakan fleksibiliti dan kawalan yang diperlukan untuk padanan corak yang kompleks.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Operator LIKE dan IN dengan Cekap dalam Pelayan SQL untuk Penapisan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!