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

Bagaimana untuk Melaksanakan Klausa WHERE Bersyarat dalam Pelayan SQL Tanpa SQL Dinamik?

Mary-Kate Olsen
Lepaskan: 2025-01-18 11:06:09
asal
713 orang telah melayarinya

How to Implement a Conditional WHERE Clause in SQL Server Without Dynamic SQL?

Fasal WHERE bersyarat dalam SQL Server

Soalan:

Bagaimana untuk melaksanakan klausa WHERE bersyarat dalam SQL Server tanpa menggunakan SQL dinamik atau mencipta berbilang pertanyaan dengan klausa yang berbeza?

Jawapan:

Anda boleh menggunakan kaedah 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:

    Fungsi
  • ISNULL() menyemak sama ada parameter @JobsOnHold kosong dan mengembalikan 0 jika kosong.
  • Ungkapan bersyarat dalam kurungan menyemak nilai parameter @JobsOnHold. Jika nilainya ialah 1, lajur DateAppr mestilah lebih besar daripada atau sama dengan 0. Jika nilainya bukan 1, lajur DateAppr mestilah tidak sama dengan 0.
  • Pengendali
  • AND memastikan kedua-dua syarat dipenuhi.

Pendekatan ini membolehkan anda menggunakan pertanyaan tunggal dan klausa WHERE bersyarat untuk menapis hasil berdasarkan nilai parameter. Ini adalah cara yang lebih cekap dan ringkas untuk menulis pertanyaan sedemikian daripada menggunakan berbilang pertanyaan atau SQL dinamik.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Klausa WHERE Bersyarat dalam Pelayan SQL Tanpa SQL Dinamik?. 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