Можно ли сделать, если еще до того, где пункт - PullRequest
1 голос
/ 28 июня 2019

У меня есть переменные, и я хочу проверить, не являются ли переменные нулевыми или пустыми только тогда, я хочу инициировать или включить мое предложение where.Идея как ниже.Я проверил, но показывает синтаксическую ошибку.

    SELECT
        ID,
        BRANCHCODE,
        BRANCHNAME,
        DEPARTMENTCODE,
        DEPARTMENTNAME,
    FROM 
        dbo.RATINGLOGS

    IF (NULLIF(@BRANCHCODE, '') IS NOT NULL)
    BEGIN
        WHERE BRANCHCODE LIKE '%'@BRANCHCODE'%'
    END

    ORDER BY 
    RATINGTIMESTAMP OFFSET @PageSize * (@PageNumber - 1) ROWS 
    FETCH NEXT @PageSize ROWS ONLY OPTION (RECOMPILE)

Ответы [ 2 ]

3 голосов
/ 28 июня 2019

Вы просто используете предложение WHERE, например:

WHERE BRANCHCODE LIKE '%' + @BRANCHCODE + '%' OR
      NULLIF(@BRANCHCODE, '') IS NOT NULL
2 голосов
/ 28 июня 2019
SELECT
        ID,
        BRANCHCODE,
        BRANCHNAME,
        DEPARTMENTCODE,
        DEPARTMENTNAME,
    FROM 
        dbo.RATINGLOGS   

        WHERE (ISNULL(@BRANCHCODE,'')='' OR  BRANCHCODE LIKE '%'@BRANCHCODE'%')


    ORDER BY 
    RATINGTIMESTAMP OFFSET @PageSize * (@PageNumber - 1) ROWS 
    FETCH NEXT @PageSize ROWS ONLY OPTION (RECOMPILE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...