Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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 server 带多个条件的SQL where子句_Sql Server_Tsql - Fatal编程技术网

Sql server 带多个条件的SQL where子句

Sql server 带多个条件的SQL where子句,sql-server,tsql,Sql Server,Tsql,在我的数据库表中,我有一些值,如上图所示 我想检查where子句中的一些条件 我想通过URL查询 DemoOrPaid=PAID,ValidUpto=NULL=>然后返回1 2.DemoOrPaid=已支付且ValidUpto=不为空,然后与当前日期进行比较,检查ValidUpto是否返回1 DemoOrPaid=DEMO和ValidUpto=NULL=>然后返回0 DemoOrPaid=DEMO和ValidUpto=NOT NULL,然后与当前日期进行比较,检查ValidUpto是否返回0 如

在我的数据库表中,我有一些值,如上图所示

我想检查where子句中的一些条件

我想通过URL查询

DemoOrPaid=PAID,ValidUpto=NULL=>然后返回1 2.DemoOrPaid=已支付且ValidUpto=不为空,然后与当前日期进行比较,检查ValidUpto是否返回1 DemoOrPaid=DEMO和ValidUpto=NULL=>然后返回0 DemoOrPaid=DEMO和ValidUpto=NOT NULL,然后与当前日期进行比较,检查ValidUpto是否返回0
如果要返回某个计算列,则可以使用如下内容:

select
    case
        when DemoOrPaid = 'PAID' and ValidUpto is null then 1
        when DemoOrPaid = 'PAID' and ValidUpto is not null and ValidUpto <= getdate() then 1
        when DemoOrPaid = 'DEMO' and ValidUpto is null then 1
        else 0
    end

在您的条件未涵盖的情况下,实际上有点不清楚您希望返回什么。

下面将返回所有匹配的行

select * from Table where 
(DemoOrPaid='PAID' and ValidUpto is NULL) or 
(DemoOrPaid='PAID' and ValidUpto is NOT NULL and ValidUpto<=GETDATE()) or 
(DemoOrPaid='DEMO' and ValidUpto is NULL) or 
(DemoOrPaid='DEMO' and ValidUpto is NULL and ValidUpto<=GETDATE())

2.什么东西该还。四,。如果不满足相应的条件,我将@iCount声明为int set@iCount=从tbl\u AdminCompanyMaster中选择COUNTCompany\u ID,其中URL=LTRIMRTRIM@URLDemoOrPaid='PAID'和ValidUpto为空或DemoOrPaid='PAID'和ValidUpto不为空和ValidUpto