flinksql 不支持 % 运算

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

flinksql 不支持 % 运算

夜思流年梦
flink 版本1.11
目前flink-sql 好像不支持取余运算,会报错:
比如:SELECT * FROM Orders WHERE a % 2 = 0
Percent remainder '%' is not allowed under the current SQL conformance level


看了下flink 的issue ,已经有人碰到过了,说是要1.12版本修复




想问下:如果再1.11版本,flink-sql 要怎么操作才能支持 % 运算呢? 可以通过修改配置文件来实现么?比如flink-conf.yaml
Reply | Threaded
Open this post in threaded view
|

Re:flinksql 不支持 % 运算

hailongwang
Hi liaobiao,
可以使用 MOD 函数[1].
[1]
https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/functions/systemFunctions.html#arithmetic-functions
Best,
HailongWang.

在 2020-10-26 15:16:16,"夜思流年梦" <[hidden email]> 写道:

>flink 版本1.11
>目前flink-sql 好像不支持取余运算,会报错:
>比如:SELECT * FROM Orders WHERE a % 2 = 0
>Percent remainder '%' is not allowed under the current SQL conformance level
>
>
>看了下flink 的issue ,已经有人碰到过了,说是要1.12版本修复
>
>
>
>
>想问下:如果再1.11版本,flink-sql 要怎么操作才能支持 % 运算呢? 可以通过修改配置文件来实现么?比如flink-conf.yaml
Reply | Threaded
Open this post in threaded view
|

Re: flinksql 不支持 % 运算

Benchao Li-2
In reply to this post by 夜思流年梦
1.11的话通过配置是无法实现的。可以把这个pr[1] cherry-pick到1.11的分支上编译一下来实现1.11上使用%

[1] https://github.com/apache/flink/pull/12818

夜思流年梦 <[hidden email]> 于2020年10月26日周一 下午4:16写道:

> flink 版本1.11
> 目前flink-sql 好像不支持取余运算,会报错:
> 比如:SELECT * FROM Orders WHERE a % 2 = 0
> Percent remainder '%' is not allowed under the current SQL conformance
> level
>
>
> 看了下flink 的issue ,已经有人碰到过了,说是要1.12版本修复
>
>
>
>
> 想问下:如果再1.11版本,flink-sql 要怎么操作才能支持 % 运算呢? 可以通过修改配置文件来实现么?比如flink-conf.yaml



--

Best,
Benchao Li
Reply | Threaded
Open this post in threaded view
|

Re: flinksql 不支持 % 运算

Danny Chan-2
%是非标准的 SQL 语法,不推荐使用。

Benchao Li <[hidden email]> 于2020年10月26日周一 下午9:26写道:

> 1.11的话通过配置是无法实现的。可以把这个pr[1] cherry-pick到1.11的分支上编译一下来实现1.11上使用%
>
> [1] https://github.com/apache/flink/pull/12818
>
> 夜思流年梦 <[hidden email]> 于2020年10月26日周一 下午4:16写道:
>
> > flink 版本1.11
> > 目前flink-sql 好像不支持取余运算,会报错:
> > 比如:SELECT * FROM Orders WHERE a % 2 = 0
> > Percent remainder '%' is not allowed under the current SQL conformance
> > level
> >
> >
> > 看了下flink 的issue ,已经有人碰到过了,说是要1.12版本修复
> >
> >
> >
> >
> > 想问下:如果再1.11版本,flink-sql 要怎么操作才能支持 % 运算呢? 可以通过修改配置文件来实现么?比如flink-conf.yaml
>
>
>
> --
>
> Best,
> Benchao Li
>