简体   繁体   English

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

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

Does anyone know, how a CASE WHEN expression can be used in a DO BEGIN... END statement?有谁知道如何在 DO BEGIN...END 语句中使用 CASE WHEN 表达式?

Works:作品:

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
;

Works:作品:

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

Doesn't work:不起作用:

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

Error message:错误信息:

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)

Thank you for your help.感谢您的帮助。

After Reinis Verbelis answer I checked another IDE. Seems the Error only appears with DBeaver but not with HANA Modeler in Eclipse. Will make an issue at their Git Repo.在 Reinis Verbelis 回答后,我检查了另一个 IDE。似乎错误只出现在 DBeaver 中,但在 Eclipse 中没有出现在 HANA Modeler 中。将在他们的 Git 回购中提出问题。

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

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