Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 根据参数选择比较运算符_Sql - Fatal编程技术网

Sql 根据参数选择比较运算符

Sql 根据参数选择比较运算符,sql,Sql,我想根据参数比较列 e、 g 创建过程[dbo]。[usp\u GetTenderBySearch] ( p_操作器字符(1), p_dtClosingDate日期时间 ) 像 从MyTable中选择* 在哪种情况下,p_操作器 当“=”时,则MyColumn=p\u dtClosingDate 当“>”时,则MyColumn>p\u dtClosingDate 当“这个怎么样: SELECT * FROM MyTable WHERE (p_strOperator = '=' AND My

我想根据参数比较列

e、 g

创建过程[dbo]。[usp\u GetTenderBySearch]
(
p_操作器字符(1),
p_dtClosingDate日期时间
)
像
从MyTable中选择*
在哪种情况下,p_操作器
当“=”时,则MyColumn=p\u dtClosingDate
当“>”时,则MyColumn>p\u dtClosingDate
当“这个怎么样:

SELECT *
  FROM MyTable
 WHERE (p_strOperator = '=' AND MyColumn = p_dtClosingDate)
    OR (p_strOperator = '>' AND MyColumn > p_dtClosingDate)
    OR (p_strOperator = '<' AND MyColumn < p_dtClosingDate);
选择*
从MyTable
其中(p_strOperator='='和MyColumn=p_dtClosingDate)
或者(p_strOperator='>'和MyColumn>p_dtClosingDate)

或者(p_strOperator='避免不可搜索,或者,尽管我注意到这肯定会更好

 Where
    Case When p_strOperator = '=' THEN MyColumn ELSE p_dtClosingDate END = p_dtClosingDate
    AND
    Case When p_strOperator = '>' THEN MyColumn ELSE p_dtClosingDate+1 END > p_dtClosingDate
    AND
    Case When p_strOperator = '<' THEN MyColumn ELSE p_dtClosingDate-1 END < p_dtClosingDate
在哪里
当p_strOperator='='时,则MyColumn ELSE p_dtClosingDate END=p_dtClosingDate
和
当p_strOperator='>'时,则MyColumn ELSE p_dtClosingDate+1 END>p_dtClosingDate
和

当p_strOperator='除了只看到一列和一个参数外,还有什么不起作用?
 Where
    Case When p_strOperator = '=' THEN MyColumn ELSE p_dtClosingDate END = p_dtClosingDate
    AND
    Case When p_strOperator = '>' THEN MyColumn ELSE p_dtClosingDate+1 END > p_dtClosingDate
    AND
    Case When p_strOperator = '<' THEN MyColumn ELSE p_dtClosingDate-1 END < p_dtClosingDate