簡體   English   中英

TSQL If Statement

[英]TSQL If Statement

我有一個腳本,我允許用戶生成報告。 他們選擇選項,其中一個下降是位置。 它包含一個地方列表,第一個選項是“ALL”。

當你選擇all時,我希望它包含location列中的任何內容。

這是我目前的陳述。

IF (@action = 'searchActivityLog')
        IF (@type = 'actor')
            BEGIN
                SELECT  actor,
                        action,
                        CONVERT (VARCHAR (20), timestamp, 100) AS timestamp,
                        [key],
                        location
                FROM   Keys_Log
                WHERE  actor = @data AND location = @location
                ORDER BY timestamp asc
                FOR    XML PATH ('results'), TYPE, ELEMENTS, ROOT ('root');
            END
        ELSE

有沒有辦法基本上說如果Location = All那么甚至不包括where子句中的那個?

你可以包括嗎?

location = @location OR @location = 'All'

在where子句中。

唯一的另一種選擇是Dynamics SQL - 但這會讓事情變得更復雜。 看到

例如,http://www.techrepublic.com/blog/the-enterprise-cloud/generate-dynamic-sql-statements-in-sql-server/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM