sách gpt4 ai đã đi

sql - IF 内部 WHERE 与存储过程

In lại 作者:行者123 更新时间:2023-12-02 05:13:43 29 4
mua khóa gpt4 Nike

我有一个如下所示的 WHERE 语句:

WHERE 
((@Value1 IS NULL AND [value1_id] IS NULL) OR [value1_id] = ISNULL(@Value1, [value1_id]))
AND
((@Value2 IS NULL AND [value2_id] IS NULL) OR [value2_id] = ISNULL(@Value2, [value2_id]))
AND
((@Value3 IS NULL AND [value3_id] IS NULL) OR [value3_id] = ISNULL(@Value3, [value3_id]))
AND
((@Value4 IS NULL AND [value4_id] IS NULL) OR [value4_id] = ISNULL(@Value4, [value4_id]))
AND
((@Value5 IS NULL AND [value5_id] IS NULL) OR [value5_id] = ISNULL(@Value5, [value5_id]))
AND
((@Value6 IS NULL AND [value6_id] IS NULL) OR [value6_id] = ISNULL(@Value5, [value6_id]))

我需要在 WHERE 中添加一些条件逻辑,这样我就可以用 Value5 和 Value6 做一些特殊的事情。基本上,如果 Value5、Value6 或其他值为 null,我想按原样使用 Value 5 和 Value 6 行。如果所有三个值都不为 NULL,我需要对这些值运行一些计算。

关于最佳操作的任何想法?

1 Câu trả lời

用例

"CASE 可以用在任何允许有效表达式的语句或子句中。例如,您可以在 SELECT、UPDATE、DELETE 和 SET 等语句中以及 select_list、IN、WHERE、ORDER 等子句中使用 CASE通过和拥有。”

http://msdn.microsoft.com/en-us/library/ms181765.aspx

您可以像这样在 LỰA CHỌN 中执行计算:

LỰA CHỌN
CASE
WHEN @Value7 is not null THEN @Value7 * 100
ELSE Value7 * 100
END
FROM #T
WHERE (@Value1 is null and Value1 is null)
AND (@Value2 is null and Value2 is null)

目前还不是很清楚您到底想完成什么。 WHERE Không có sẵn LỰA CHỌN 中吗?如果以上不正确,请提供一个清晰、简洁的示例。

关于sql - IF 内部 WHERE 与存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14967397/

29 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com