我正在尝试通过下面的代码获取数据,该代码具有以下情况。
,如果@status = 0且日期不为null,则获取过滤数据。
,如果@status = 1且日期不为null,则选择所有数据。
当@status = 1且日期为null时,请选择所有数据。
<?php
get_search_form();
?>
答案 0 :(得分:2)
您所描述的逻辑是通过以下方式处理的:
where (@status = 0 and CreatedTime > @date) or
(@status = 1)
目前尚不清楚为什么要为此使用两个不同的变量。
答案 1 :(得分:0)
DECLARE @status INT = 0,
@date DATETIME = '2018-12-01 09:48:34.343'
DECLARE @RQuery NVARCHAR(MAX)
SET @RQuery = ' WHERE 1 = 1 '
IF @status = 0 AND @date IS NOT NULL
BEGIN
SET @RQuery = @status + ' = 0 AND CreatedTime ' + CAST(@date AS DATE)
END
ELSE IF @status = 1 AND @date IS NOT NULL
BEGIN
SET @RQuery = ''
END
ELSE IF @status = 1 AND @date IS NULL
BEGIN
SET @RQuery = ''
END
DECLARE @RQueryFULL NVARCHAR(MAX)
SET @RQueryFULL = ''
SET @RQueryFULL = 'SELECT CreatedTime
FROM AspNetUsers ' + @RQuery
EXEC @RQueryFULL
Try This