在 ClickHouse 中使用原始字符串

问题描述

我正在使用正则表达式通过 ClickHouse 对字符串进行一些搜索,正如文档所说的 here

请注意,正则表达式中使用反斜杠符号 () 进行转义。相同的符号用于在字符串文字中转义。所以为了对正则表达式中的符号进行转义,必须在字符串字面量中写入两个反斜杠 ()。

这是一种告诉 ClickHouse 像原始字符串一样解析字符串的方法,这样我就不必在所有模式中都使用双反斜杠吗?像在 Python 中做 r'...' 之类的吗?

解决方法

没办法。

类似于在 Python 中执行 r'...' 的事情

那你怎么编码这个'xxx'yyy'?

您可以对字符串进行编码

https://clickhouse.tech/docs/en/sql-reference/functions/encoding-functions/#unhexstr

https://clickhouse.tech/docs/en/sql-reference/functions/string-functions/#base64decode

或者您可以使用 RowBinary 格式。