首页 > 解决方案 > CASE in WHERE 里面的存储过程

问题描述

我想根据变量的值设置 2 个不同的 where 条件,即:

if @var=0 then Where fieldFecha='1900/01/01' and if @var=1 then where fieldfecha<>'1900/01/01'
    DECLARE @var int
    SET @var=0
    SELECT * FROM Table
    WHERE fieldFecha=CASE ?????

我不知道该放什么,CASE因为我需要使用fieldFecha= and fielFecha<>

请问有什么想法吗?

问候

标签: sqltsqlcasewhere-clause

解决方案


尝试类似的东西

 DECLARE @var int = 0;
 SELECT * FROM Table
 WHERE (@var=0 AND fieldFecha='1900/01/01') OR (@var=1 AND fieldfecha<>'1900/01/01')

此外,这取决于您的需求,但在这种情况下,您可以使用UNION


推荐阅读