【问题标题】:SQL CASE with multiple THENS gives incorrect syntax具有多个 THENS 的 SQL CASE 给出了不正确的语法
【发布时间】:2020-05-28 12:30:27
【问题描述】:

我正在尝试在 SQL 中执行此 CASE 语句,但它的语法不正确,有什么问题吗?有没有办法用 SQL 做到这一点?

CASE    
    WHEN @TESTVALUE LIKE 'a%'
    OR @TESTVALUE LIKE 'b%' THEN
        RETURN
    WHEN @TESTVALUE LIKE 'c%' THEN
        SET @var1 = 'var1c'
        SET @var2 = 'var2c' 
    ELSE 
        SET @var1 = 'var1other'
        SET @var2 = 'var2other' 
END

【问题讨论】:

  • 那么return?那是什么?你用的是什么数据库。您是打算使用 case 表达式(这是标准 SQL)还是使用脚本语言的 case 语句。
  • 返回只是退出脚本。我不确定这两种案例类型之间的区别。我只想要一个类似 java 的 switch/case 语句来在这些条件下设置这两个变量

标签: sql syntax case


【解决方案1】:

你不能使用这样的休息时间。

分成两部分

Case WHEN @TESTVALUE NOT LIKE 'a%' AND @TESTVALUE NOT LIKE 'b%' THEN CASE <rest of the stuff> END END

【讨论】:

    猜你喜欢
    • 2014-08-18
    • 1970-01-01
    • 2017-10-31
    • 2019-05-22
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 2013-08-02
    • 2016-03-24
    相关资源
    最近更新 更多