sql - 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<>
请问有什么想法吗?
问候
解决方案
尝试类似的东西
DECLARE @var int = 0;
SELECT * FROM Table
WHERE (@var=0 AND fieldFecha='1900/01/01') OR (@var=1 AND fieldfecha<>'1900/01/01')
此外,这取决于您的需求,但在这种情况下,您可以使用UNION
推荐阅读
- c++ - typedef 是否在 C++ 编译时解析?
- ios - 从 '(_) throws -> ()' 类型的抛出函数到非抛出函数类型 '(Response) -> Void' 的无效转换
- javascript - 三.js弯PlaneGeometry
- c# - 如何在c#中使用nunit为静态类中的私有静态方法编写单元测试
- java - 如何获取列表中选项标签的内部文本?
- sas - SAS- 新人无法将观察设置为缺失
- ef-core-3.1 - 与实体框架 3 的外键兼容性
- error-handling - 将 log_error_verbosity 更改为 4
- java - 数据库中的 LocalDateTime 和日期不四舍五入
- pytorch - torch.nn.Softmax 中的 dim 参数的用途是什么