Re: Flink sql 转义字符问题
非常感谢您的回复,恰好我的SQL中既用到了; 也用到了\n,但是非常奇怪的是,直接使用时前者会报语法异常,而后者不会,在把;使用Unicode转义后,作业能够正常运行,且数据处理也ok,flink 版本是 1.10,初步判断可能是前端SQL传递有问题 Leonard Xu 于2020年7月31日周五 下午9:13写道: > Hi, zilong > > SPLIT_INDEX(${xxx}, ‘;’, 0) > > ‘;’ 分号不是特殊字符,编译时应该不会报错的,我在Flink 1.11.1 用DDL 测试了下, 能够work的,不知道你的环境是怎样的。 > U&'\003B' 是 ; 的 unicode编码,所以用这个unicode编码是可以的,但一般这种用法是在需要用不可见字符分割时我们这样使用, > 比如 \n 对应的s是 U&'\\000A’ ,\r 对应的是 U&'\\000D’, > 对于分号这种可见字符来讲,不需要用unicode编码就可以的。 > > 祝好 > Leonard > > > 在 2020年7月31日,20:46,zilong xiao 写道: > > > > U&'\003B' 这么写就可以了 感觉好奇怪啊。。 > > > > 李奇 <359502...@qq.com> 于2020年7月31日周五 下午8:25写道: > > > >> 加反斜杠就可以。\; 只不过分号应该不是特殊字符吧。 > >> > >>> 在 2020年7月31日,下午8:13,zilong xiao 写道: > >>> > >>> SPLIT_INDEX(${xxx}, ';', > >>> > >> > 0),想从字符串中按分号切割,可是分号应该是特殊字符,语法检查总是不能通过,网上查说是可以转义,但是也没太搞懂怎么才能转义,有遇到过类似问题的大佬求指点~~ > >> > >
Re: Flink sql 转义字符问题
Hi, zilong SPLIT_INDEX(${xxx}, ‘;’, 0) ‘;’ 分号不是特殊字符,编译时应该不会报错的,我在Flink 1.11.1 用DDL 测试了下, 能够work的,不知道你的环境是怎样的。 U&'\003B' 是 ; 的 unicode编码,所以用这个unicode编码是可以的,但一般这种用法是在需要用不可见字符分割时我们这样使用, 比如 \n 对应的s是 U&'\\000A’ ,\r 对应的是 U&'\\000D’, 对于分号这种可见字符来讲,不需要用unicode编码就可以的。 祝好 Leonard > 在 2020年7月31日,20:46,zilong xiao 写道: > > U&'\003B' 这么写就可以了 感觉好奇怪啊。。 > > 李奇 <359502...@qq.com> 于2020年7月31日周五 下午8:25写道: > >> 加反斜杠就可以。\; 只不过分号应该不是特殊字符吧。 >> >>> 在 2020年7月31日,下午8:13,zilong xiao 写道: >>> >>> SPLIT_INDEX(${xxx}, ';', >>> >> 0),想从字符串中按分号切割,可是分号应该是特殊字符,语法检查总是不能通过,网上查说是可以转义,但是也没太搞懂怎么才能转义,有遇到过类似问题的大佬求指点~~ >>
回复: Flink sql 转义字符问题
我看官方文档https://help.aliyun.com/knowledge_detail/62544.html中接口是VARCHAR SPLIT_INDEX(VARCHAR str, VARCHAR sep, INT index) sep 是字符串类型。是不是要用双引号或者看下分号是不是英文的? --原始邮件-- 发件人: "user-zh"
Re: Flink sql 转义字符问题
U&'\003B' 这么写就可以了 感觉好奇怪啊。。 李奇 <359502...@qq.com> 于2020年7月31日周五 下午8:25写道: > 加反斜杠就可以。\; 只不过分号应该不是特殊字符吧。 > > > 在 2020年7月31日,下午8:13,zilong xiao 写道: > > > > SPLIT_INDEX(${xxx}, ';', > > > 0),想从字符串中按分号切割,可是分号应该是特殊字符,语法检查总是不能通过,网上查说是可以转义,但是也没太搞懂怎么才能转义,有遇到过类似问题的大佬求指点~~ >
Re: Flink sql 转义字符问题
实测反斜杠好像也不行 李奇 <359502...@qq.com> 于2020年7月31日周五 下午8:25写道: > 加反斜杠就可以。\; 只不过分号应该不是特殊字符吧。 > > > 在 2020年7月31日,下午8:13,zilong xiao 写道: > > > > SPLIT_INDEX(${xxx}, ';', > > > 0),想从字符串中按分号切割,可是分号应该是特殊字符,语法检查总是不能通过,网上查说是可以转义,但是也没太搞懂怎么才能转义,有遇到过类似问题的大佬求指点~~ >
Re: Flink sql 转义字符问题
加反斜杠就可以。\; 只不过分号应该不是特殊字符吧。 > 在 2020年7月31日,下午8:13,zilong xiao 写道: > > SPLIT_INDEX(${xxx}, ';', > 0),想从字符串中按分号切割,可是分号应该是特殊字符,语法检查总是不能通过,网上查说是可以转义,但是也没太搞懂怎么才能转义,有遇到过类似问题的大佬求指点~~
Flink sql 转义字符问题
SPLIT_INDEX(${xxx}, ';', 0),想从字符串中按分号切割,可是分号应该是特殊字符,语法检查总是不能通过,网上查说是可以转义,但是也没太搞懂怎么才能转义,有遇到过类似问题的大佬求指点~~