Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.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

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中的IF或THEN_Sql_Sql Server - Fatal编程技术网

SQL Server中的IF或THEN

SQL Server中的IF或THEN,sql,sql-server,Sql,Sql Server,我在谷歌上搜索了一下,取得了一些进展,但我似乎无法正确理解语法。我认为应该是这样的: SELECT IF(Substring(dbo.LIMIT_HIST.ID,8,5) = '.0010' OR Substring(dbo.LIMIT_HIST.ID,8,5) = '.0020' Left(dbo_LIMIT_HIST.ID,18),"")) AS IDs FROM dbo.LIMIT_HIST INNER JOIN dbo.CUSTOMER ON

我在谷歌上搜索了一下,取得了一些进展,但我似乎无法正确理解语法。我认为应该是这样的:

SELECT
    IF(Substring(dbo.LIMIT_HIST.ID,8,5) = '.0010' OR
    Substring(dbo.LIMIT_HIST.ID,8,5) = '.0020' 
    Left(dbo_LIMIT_HIST.ID,18),"")) AS IDs
FROM
    dbo.LIMIT_HIST INNER JOIN
    dbo.CUSTOMER ON 
    dbo.LIMIT_HIST.LIABILITY_NUMBER = dbo.CUSTOMER.CUSTOMER_CODE
有人能把我推到正确的方向吗?
谢谢

看起来您需要一个案例陈述

SELECT
    CASE 
       WHEN Substring(dbo.LIMIT_HIST.ID,8,5) = '.0010' 
            OR Substring(dbo.LIMIT_HIST.ID,8,5) = '.0020' 
       THEN Left(dbo_LIMIT_HIST.ID,18)
       ELSE '' 
    END AS IDs
FROM
    dbo.LIMIT_HIST INNER JOIN
    dbo.CUSTOMER ON 
    dbo.LIMIT_HIST.LIABILITY_NUMBER = dbo.CUSTOMER.CUSTOMER_CODE

sql中做什么的语法?嘿,为什么在“.0020”之后没有AND或or和Left?在谷歌搜索时,我看到了一个Case…When的例子,但我看到了更多If…Then的例子。非常混乱。但现在它有了意义。If-then通常在select之外用于控制代码的逻辑流。是在SQL 2012中引入的,在本例中可以替换CASE语句,因为您只有一个WHEN。但是,我很高兴你们都清理干净了!