Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melaksanakan Klausa WHERE Bersyarat Berdasarkan Parameter dalam Pelayan SQL?

Bagaimana untuk Melaksanakan Klausa WHERE Bersyarat Berdasarkan Parameter dalam Pelayan SQL?

Patricia Arquette
Lepaskan: 2025-01-18 11:02:09
asal
165 orang telah melayarinya

How to Implement a Conditional WHERE Clause Based on a Parameter in SQL Server?

Fasal WHERE bersyarat dalam SQL Server

Soalan:

Bagaimana untuk mencipta klausa WHERE bersyarat dalam SQL Server, terutamanya apabila keadaan berubah berdasarkan nilai parameter?

Jawapan:

Untuk mencipta klausa WHERE bersyarat, anda boleh menggunakan ungkapan dalam klausa WHERE yang menilai kepada TRUE untuk rekod yang memenuhi syarat dan kepada FALSE untuk rekod yang tidak. Pertimbangkan pertanyaan berikut:

<code class="language-sql">SELECT 
    DateAppr,
    TimeAppr,
    TAT,
    LaserLTR,
    Permit,
    LtrPrinter,
    JobName,
    JobNumber,
    JobDesc,
    ActQty,
    (ActQty-LtrPrinted) AS L,
    (ActQty-QtyInserted) AS M,
    ((ActQty-LtrPrinted)-(ActQty-QtyInserted)) AS N
FROM 
    [test].[dbo].[MM]
WHERE 
    DateDropped = 0
    AND (
    (ISNULL(@JobsOnHold, 0) = 1 AND DateAppr >= 0) 
    OR 
    (ISNULL(@JobsOnHold, 0) != 1 AND DateAppr != 0)
    )</code>
Salin selepas log masuk

Dalam pertanyaan ini, klausa WHERE mengandungi syarat berikut:

<code class="language-sql">(ISNULL(@JobsOnHold, 0) = 1 AND DateAppr >= 0) 
OR 
(ISNULL(@JobsOnHold, 0) != 1 AND DateAppr != 0)</code>
Salin selepas log masuk

Ungkapan bersyarat ini dinilai kepada BENAR untuk rekod yang memenuhi:

  • Jika @JobsOnHold sama dengan 1, maka DateAppr mestilah lebih besar daripada atau sama dengan 0.
  • Jika @JobsOnHold tidak sama dengan 1, maka DateAppr mestilah tidak sama dengan 0.

Dengan menggunakan ungkapan bersyarat ini, anda boleh menggunakan syarat berbeza secara dinamik pada pertanyaan berdasarkan nilai parameter @JobsOnHold. Ini membolehkan fleksibiliti dan kawalan yang lebih besar semasa menapis data.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Klausa WHERE Bersyarat Berdasarkan Parameter dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan