You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HSQLDB 2.7.2中CASE表达式换行写法无法执行问题咨询

HSQLDB 2.7.2 多行CASE表达式执行失败的解决方法

这是HSQLDB 2.7.2版本的语法解析兼容性问题,针对多行书写的CASE表达式,你需要调整END关键字的缩进位置,让它与CASE关键字对齐,而非缩进在ELSE下方。

修改后的可运行脚本:

SELECT
   CASE col1
      WHEN "1" THEN "one"
      ELSE "NOT"
END
FROM tab;

补充说明

  1. 缩进敏感原因:HSQLDB 2.7.2在解析多行CASE表达式时,对关键字的换行和缩进位置要求严格。当END被缩进时,解析器无法正确识别它是CASE表达式的结束标记,进而触发语法错误;而单行写法结构紧凑,不会出现这个问题。
  2. 字符串常量规范:HSQLDB中双引号"用于标识标识符(如列名、表名),如果你的"1"、"one"、"NOT"是字符串常量,建议改用SQL标准的单引号',避免与标识符混淆:
SELECT
   CASE col1
      WHEN '1' THEN 'one'
      ELSE 'NOT'
END
FROM tab;

内容的提问来源于stack exchange,提问作者John Kraynack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 10:54:51