You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2016/09/15 01:09:20 UTC
[jira] [Commented] (CALCITE-1375) Why "select CONCAT('a','b') from
EMPS" won't work?
[ https://issues.apache.org/jira/browse/CALCITE-1375?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15491972#comment-15491972 ]
Julian Hyde commented on CALCITE-1375:
--------------------------------------
Because CONCAT is not in the SQL standard. It is only in the JDBC standard, hence you can get it via JDBC escape syntax. Use {{||}}, which is standard.
(Why does MySQL use {{CONCAT}}? Because they are idiots and used {{||}} for OR thinking, I suppose, that it would make it easier for C programmers.)
> Why "select CONCAT('a','b') from EMPS" won't work?
> --------------------------------------------------
>
> Key: CALCITE-1375
> URL: https://issues.apache.org/jira/browse/CALCITE-1375
> Project: Calcite
> Issue Type: Bug
> Reporter: hongbin ma
> Assignee: Julian Hyde
>
> Hi experts,
> I have some confusing observations:
> || query || result ||
> | select QUARTER(DATE'2010-01-02') from EMPS; | OK |
> | select {fn QUARTER(DATE'2010-01-02')} from EMPS; | OK|
> |select {fn CONCAT('a','b')} from EMPS; | OK|
> |select CONCAT('a','b') from EMPS; |FAIL|
> The error message is :
> Error: Error while executing SQL "select CONCAT('a','b') from EMPS": From line 1, column 8 to line 1, column 22: No match found for function signature CONCAT(<CHARACTER>, <CHARACTER>) (state=,code=0)
> why is CONCAT without function escape failing? is there any reasons behind this?
> There're many JDBC escape functions in https://calcite.apache.org/docs/reference.html, is there a way to tell which can run without the "{fn" prefix?
> I'm using calcite 1.8.0's sqlline under example/csv
> thanks!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)