Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melaksanakan Klausa WHERE Bersyarat dalam SQL Server?
Fasal WHERE bersyarat dalam SQL Server
Dalam SQL Server, klausa WHERE bersyarat membolehkan anda menentukan kriteria untuk menapis data berdasarkan syarat tertentu. Dalam sesetengah kes, anda mungkin memerlukan klausa WHERE bersyarat untuk menilai keadaan dan melaraskan penapis dengan sewajarnya. Berikut ialah cara membina dan menggunakan klausa WHERE bersyarat dengan berkesan.
Tatabahasa
Klausa WHERE bersyarat asas mengikuti sintaks berikut:
<code class="language-sql">WHERE 逻辑表达式 AND (CASE WHEN 条件 THEN 表达式1 ELSE 表达式2 END)</code>
Contoh
Mari pertimbangkan contoh yang anda berikan:
<code class="language-sql">SELECT DateAppr, TimeAppr, ... FROM [test].[dbo].[MM] WHERE DateDropped = 0 AND (CASE WHEN @JobsOnHold = 1 THEN DateAppr >= 0 ELSE DateAppr != 0 END)</code>
Pertanyaan ini cuba menapis data yang DateDropped ialah 0 dan DateAppr memenuhi syarat tertentu berdasarkan nilai @JobsOnHold. Walau bagaimanapun, sintaksnya tidak betul.
Tatabahasa yang betul
Untuk membetulkan ralat sintaks, sertakan ungkapan bersyarat dalam kurungan:
<code class="language-sql">SELECT DateAppr, TimeAppr, ... FROM [test].[dbo].[MM] WHERE DateDropped = 0 AND ( (ISNULL(@JobsOnHold, 0) = 1 AND DateAppr >= 0) OR (ISNULL(@JobsOnHold, 0) != 1 AND DateAppr != 0) )</code>
Penjelasan
ISNULL(@JobsOnHold, 0)
: Ini memastikan bahawa jika @JobsOnHold
adalah NULL atau tiada, ia dianggap sebagai 0. OR
memastikan keadaan berfungsi dengan betul dalam kedua-dua kes. Apabila @JobsOnHold
ialah 1, DateAppr
mestilah lebih besar daripada atau sama dengan 0. Jika tidak, jika @JobsOnHold
bukan 1, maka DateAppr
mestilah bukan 0.
Nota lain
Dengan mengikut garis panduan ini, anda boleh menggunakan klausa WHERE bersyarat dengan berkesan dalam SQL Server untuk menapis data berdasarkan kriteria tertentu.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Klausa WHERE Bersyarat dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!