[ 
https://issues.apache.org/jira/browse/CALCITE-6480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17866631#comment-17866631
 ] 

xiong duan commented on CALCITE-6480:
-------------------------------------

[~suibianwanwan33] We can rewrite CASE WHEN in the RelToSql phase maybe 
OracleSqlDialect is a good choice. This SQL can run successfully:
{code:java}
select 
    "EMPNO",
    "ENAME",
    "JOB",
    "MGR",
    "HIREDATE",
    "SAL",
    "COMM",
    "DEPTNO"
from SCOTT."EMP" WHERE (CASE 
         WHEN "ENAME" = 'Sales' THEN 'true'
         WHEN "ENAME" = 'HR' THEN 'true'
         ELSE 'false'
       END) = 'true'; {code}

> OracleDialect does not support CASE WHEN returning boolean
> ----------------------------------------------------------
>
>                 Key: CALCITE-6480
>                 URL: https://issues.apache.org/jira/browse/CALCITE-6480
>             Project: Calcite
>          Issue Type: Wish
>          Components: core
>            Reporter: kate
>            Priority: Minor
>
> Our requirement is to use Calcite to translate queries into different 
> dialects. During validation in the TPC-DS scenario, we found that {{Oracle}} 
> does not support SQL statements like
> {code:java}
> SELECT * FROM xxx
> WHERE CASE WHEN a > 10 THEN b < 5 ELSE c > 0 END;{code}
> Therefore, we hope to remove such predicates at the dialect like Oracle.
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to