[
https://issues.apache.org/jira/browse/CALCITE-3731?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17015739#comment-17015739
]
Feng Zhu commented on CALCITE-3731:
-----------------------------------
Agree with [~zabetak], *IF* function's logic is the same as that of *CASE
WHEN*. We can make some transformation and reuse the CASE operator.
In addition, current PR's implemention has a limitation in null policy.
For example,
{code:java}
SELECT IF(null, 1, 2)
-----
the result should be 2{code}
> Add IF function for BigQuery, Hive and Spark Dialects
> -----------------------------------------------------
>
> Key: CALCITE-3731
> URL: https://issues.apache.org/jira/browse/CALCITE-3731
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Reporter: vaibhav jain
> Priority: Major
> Labels: pull-request-available
> Time Spent: 2h
> Remaining Estimate: 0h
>
> Adding support for *IF* function for BigQuery, Hive and Spark Dialects.
> *Syntax*- IF(condition, true_result, false_result)
> If *condition* is true, returns *true_result*, else returns *false_result*.
> Document links:
> [BigQuery|https://cloud.google.com/bigquery/docs/reference/standard-sql/conditional_expressions]
> [Hive
> |https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-ConditionalFunctions]
> [Spark Sql|https://spark.apache.org/docs/2.3.1/api/sql/index.html#if]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)