SQL Server,其中基于案例
如果PARAM等于1,则要搜索TAX='asd'的所有行,否则搜索TAX'asd'的所有行(不是'asd'的每一行) 大概是这样的:SQL Server,其中基于案例,sql,sql-server,Sql,Sql Server,如果PARAM等于1,则要搜索TAX='asd'的所有行,否则搜索TAX'asd'的所有行(不是'asd'的每一行) 大概是这样的: WHERE TAX ( CASE WHEN PARAM = '1' THEN = 'asd' ELSE <> 'asd' END) 在哪里 税( 案例 当PARAM='1' 然后='asd' “自闭症” (完) 无需使用案例语句,只需使用括号和或 SELECT * FROM
WHERE
TAX (
CASE
WHEN PARAM = '1'
THEN = 'asd'
ELSE <> 'asd'
END)
在哪里
税(
案例
当PARAM='1'
然后='asd'
“自闭症”
(完)
无需使用案例
语句,只需使用括号和或
SELECT *
FROM yourtable
WHERE (TAX = 'asd' AND PARAM = '1') OR (TAX != 'asd')
无需使用
大小写
语句,只需使用括号和或
SELECT *
FROM yourtable
WHERE (TAX = 'asd' AND PARAM = '1') OR (TAX != 'asd')
您可以使用布尔逻辑添加
where
子句:
WHERE (PARAM = 1 AND TAX = 'asd') OR
(PARAM <> 1 AND TAX <> 'asd');
其中(PARAM=1,TAX='asd')或
(参数1和税“asd”);
如果
参数
具有数字类型,则不需要包含'
您可以使用布尔逻辑添加where
子句:
WHERE (PARAM = 1 AND TAX = 'asd') OR
(PARAM <> 1 AND TAX <> 'asd');
SELECT *
FROm table
WHERE (TAX = 'asd' AND PARAM IN (1))
OR (TAX <> 'asd' AND PARAM NOT IN (1))
其中(PARAM=1,TAX='asd')或
(参数1和税“asd”);
如果参数
具有数字类型,则不需要包含'
选择*
SELECT *
FROm table
WHERE (TAX = 'asd' AND PARAM IN (1))
OR (TAX <> 'asd' AND PARAM NOT IN (1))
从桌子上
式中(税=‘asd’和(1)中的参数)
或(税“asd”和参数不在(1)中)
选择*
从桌子上
式中(税=‘asd’和(1)中的参数)
或(税“asd”和参数不在(1)中)
这可以通过或和一些括号来实现:
WHERE (PARAM = 1 AND TAX = 'asd')
OR (TAX <> 'asd')
其中(PARAM=1,TAX='asd')
或(asd税)
一定要考虑税收可能无效的情况,除非你的数据库设计明确禁止。
< P>这可以用或或和一些括号来实现:WHERE (PARAM = 1 AND TAX = 'asd')
OR (TAX <> 'asd')
其中(PARAM=1,TAX='asd')
或(asd税)
一定要考虑税收可能无效的情况,除非数据库设计明确禁止。
注意:它将选择<代码>(税则,PARAM)=((FDS),‘1’’< /代码> @ SalmanA,他们没有指定他们不想要!asd&=1CASE
语句(修复后)将产生与您发布的不同的结果。OP很清楚,如果参数为1,则他们需要asd,否则除asd以外的任何东西。注意:它将选择(TAX,param)=('fds','1')
@SalmanA,他们没有指定他们不需要!=asd&=1CASE
语句(修复后)将产生与您发布的不同的结果。OP很清楚,如果param为1,他们想要asd,除asd之外的其他任何东西。在where
子句中使用case
表达式通常是个坏主意。使用和
/或
结构。在where
子句中使用大小写
表达式通常是个坏主意。改用和
/或
结构。