微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 RLIKE Hive 中转义单引号?双单引号不起作用

如何解决如何在 RLIKE Hive 中转义单引号?双单引号不起作用

我想转义 RLIKE 输入中的单引号。我像这样使用了双单引号:

SELECT * FROM TABLE
WHERE column RLIKE 'o''brien'

但它返回的结果是 "obrien" 而不是 "o'brien"。我也试过 "\\'" 而不是双单引号,但这也不起作用。那么单引号的正确转义字符是什么?

解决方法

三种方法:

1 将整个regexp放入双引号中,双引号内屏蔽单引号:

where column rlike "o'brien"

另见:https://stackoverflow.com/a/66175603/2700344

2 使用 unicode \u0027

where column rlike 'o\\u0027brien'

3 使用十六进制 \x27

where column rlike 'o\\x27brien'

使用 \\x\\u 代码,您可以检查任何知道代码的特殊字符。

,

您可以只使用 =

WHERE column = 'o''brien'

除非您有意,否则我不确定您为什么要使用 RLIKE

WHERE column LIKE '%o''brien%'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。