繁体   English   中英

HANA SQL:CASE WHEN 在 DO BEGIN...END 语句中

[英]HANA SQL: CASE WHEN in DO BEGIN ... END statements

有谁知道如何在 DO BEGIN...END 语句中使用 CASE WHEN 表达式?

作品:

WITH something_to_query_on AS (
SELECT 1 AS first_value, 2 AS second_value FROM dummy
UNION
SELECT 4 AS first_value, 3 AS second_value FROM dummy
)
SELECT first_value, second_value
, CASE WHEN first_value > second_value THEN 1 ELSE 0 END AS first_greater_second
FROM something_to_query_on
;

作品:

DO BEGIN
    something_to_query_on = SELECT 1 AS first_value, 2 AS second_value FROM dummy
                            UNION
                            SELECT 4 AS first_value, 3 AS second_value FROM dummy
                            ;
    
    SELECT first_value, second_value
    /*, CASE WHEN first_value > second_value THEN 1 ELSE 0 END AS first_greater_second*/
    FROM :something_to_query_on
    ;
END

不起作用:

DO BEGIN
    something_to_query_on = SELECT 1 AS first_value, 2 AS second_value FROM dummy
                            UNION
                            SELECT 4 AS first_value, 3 AS second_value FROM dummy
                            ;
    
    SELECT first_value, second_value
    , CASE WHEN first_value > second_value THEN 1 ELSE 0 END AS first_greater_second
    FROM :something_to_query_on
    ;
END

错误信息:

SQL Error [257] [HY000]: SAP DBTech JDBC: [257] (at 329): sql syntax error: line 10 col 2 (at pos 329)
  SAP DBTech JDBC: [257] (at 329): sql syntax error: line 10 col 2 (at pos 329)

感谢您的帮助。

在 Reinis Verbelis 回答后,我检查了另一个 IDE。似乎错误只出现在 DBeaver 中,但在 Eclipse 中没有出现在 HANA Modeler 中。将在他们的 Git 回购中提出问题。

暂无
暂无

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

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