繁体   English   中英

SQL case when 表达式之间?

[英]SQL case when expression between?

有没有办法做这样的事情:

DECLARE @x INT;
DECLARE @y INT;
SET @x=45;
SET @y=30;

SELECT 
    CASE @x - @y 
       WHEN BETWEEN 2 AND 3 
          THEN 'true' 
          ELSE 'false' 
    END

我收到一个错误:

消息 156,级别 15,状态 1
关键字“BETWEEN”附近的语法不正确

CASE expr WHEN val THEN ...仅适用于相等性检查,不适用于更复杂的条件,如BETWEEN 在你的 canse 中,你需要使用像CASE WHEN val BETWEEN ... THEN ...

SELECT CASE WHEN @x - @y BETWEEN 2 AND 3 THEN 'true' ELSE 'false' END

或者,您可以使用:

SELECT CASE @x - @y
    WHEN 2 THEN 'true'
    WHEN 3 THEN 'true'
    ELSE 'false'
END
SELECT CASE WHEN @x - @y BETWEEN 2 AND 3 
            THEN 'true' 
            ELSE 'false' 
       END

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM