You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@flink.apache.org by Dongwon Kim <ea...@gmail.com> on 2020/07/20 13:49:29 UTC

Encoding problem in WHERE LIKE

Hi,

When I execute the following query in .sqlQuery(),

> SELECT ...
> FROM ...
> WHERE location.goalName LIKE '%양현마을%'
>
I got the following error message

> Caused by: org.apache.calcite.sql.parser.SqlParseException: Lexical error
> at line 1, column 96.  Encountered: "\uc591" (50577), after : ""
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.convertException(FlinkSqlParserImpl.java:416)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.normalizeException(FlinkSqlParserImpl.java:201)
> at
> org.apache.calcite.sql.parser.SqlParser.handleException(SqlParser.java:148)
> at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:163)
> at org.apache.calcite.sql.parser.SqlParser.parseStmt(SqlParser.java:188)
> at
> org.apache.flink.table.planner.calcite.CalciteParser.parse(CalciteParser.java:54)
> ... 3 more
> Caused by: org.apache.flink.sql.parser.impl.TokenMgrError: Lexical error
> at line 1, column 96.  Encountered: "\uc591" (50577), after : ""
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImplTokenManager.getNextToken(FlinkSqlParserImplTokenManager.java:16104)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.jj_scan_token(FlinkSqlParserImpl.java:35909)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.jj_3R_430(FlinkSqlParserImpl.java:34086)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.jj_3R_349(FlinkSqlParserImpl.java:34072)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.jj_3R_206(FlinkSqlParserImpl.java:35321)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.jj_3R_111(FlinkSqlParserImpl.java:35344)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.jj_3_69(FlinkSqlParserImpl.java:34666)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.jj_3_70(FlinkSqlParserImpl.java:35107)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.jj_3_71(FlinkSqlParserImpl.java:35188)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.jj_2_71(FlinkSqlParserImpl.java:29567)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.Expression2(FlinkSqlParserImpl.java:16828)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.Expression2(FlinkSqlParserImpl.java:16992)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.Expression(FlinkSqlParserImpl.java:16758)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.WhereOpt(FlinkSqlParserImpl.java:12927)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.SqlSelect(FlinkSqlParserImpl.java:6914)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.LeafQuery(FlinkSqlParserImpl.java:658)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.LeafQueryOrExpr(FlinkSqlParserImpl.java:16741)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.QueryOrExpr(FlinkSqlParserImpl.java:16204)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.OrderedQueryOrExpr(FlinkSqlParserImpl.java:532)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.SqlStmt(FlinkSqlParserImpl.java:3761)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.SqlStmtEof(FlinkSqlParserImpl.java:3800)
> at
> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.parseSqlStmtEof(FlinkSqlParserImpl.java:248)
> at org.apache.calcite.sql.parser.SqlParser.parseQuery(SqlParser.java:161)
> ... 5 more


Can anyone help me with this problem?

Thanks,

Dongwon

Re: Encoding problem in WHERE LIKE

Posted by Danny Chan <yu...@gmail.com>.
Hi, Dongwon ~

> Caused by: org.apache.calcite.sql.parser.SqlParseException: Lexical error at line 1, column 96.  Encountered

The error did report the position, you can take a reference to see which syntax context caused the problem.

Best,
Danny Chan
在 2020年7月20日 +0800 PM11:10,Dongwon Kim <ea...@gmail.com>,写道:
> Hi Leonard,
>
> You're right; I was missing a single quotation mark before the LIKE.
>
> There's no encoding problem at all!
> Sorry for the confusion.
>
> Thanks,
>
> Dongwon
>
>
> > On Tue, Jul 21, 2020 at 12:00 AM Leonard Xu <xb...@gmail.com> wrote:
> > > Hi, Kim
> > >
> > > The clause  ` LIKE '%양현마을%’ ` should work well, could you post the the entire query(or select clause) ?
> > >
> > > Best
> > > Leonard Xu
> > >
> > > > 在 2020年7月20日,21:49,Dongwon Kim <ea...@gmail.com> 写道:
> > > >
> > > > When I execute the following query in .sqlQuery(),
> > > > > SELECT ...
> > > > > FROM ...
> > > > > WHERE location.goalName LIKE '%양현마을%'
> > >

Re: Encoding problem in WHERE LIKE

Posted by Dongwon Kim <ea...@gmail.com>.
Hi Leonard,

You're right; I was missing a single quotation mark before the LIKE.

There's no encoding problem at all!
Sorry for the confusion.

Thanks,

Dongwon


On Tue, Jul 21, 2020 at 12:00 AM Leonard Xu <xb...@gmail.com> wrote:

> Hi, Kim
>
> The clause  ` LIKE '%양현마을%’ ` should work well, could you post the the
> entire query(or select clause) ?
>
> Best
> Leonard Xu
>
> 在 2020年7月20日,21:49,Dongwon Kim <ea...@gmail.com> 写道:
>
> When I execute the following query in .sqlQuery(),
>
>> SELECT ...
>> FROM ...
>> WHERE location.goalName LIKE '%양현마을%'
>
>
>

Re: Encoding problem in WHERE LIKE

Posted by Leonard Xu <xb...@gmail.com>.
Hi, Kim

The clause  ` LIKE '%양현마을%’ ` should work well, could you post the the entire query(or select clause) ?

Best
Leonard Xu

> 在 2020年7月20日,21:49,Dongwon Kim <ea...@gmail.com> 写道:
> 
> When I execute the following query in .sqlQuery(),
> SELECT ...
> FROM ...
> WHERE location.goalName LIKE '%양현마을%'