Clickhouse如何通过控制字符过滤字符串

Clickhouse how to filter string by control characters

在 Clickhouse 中,我如何通过控制字符过滤字符串,例如制表符 \t,换行符 \n

SQL 服务器有 to express control chars. Separately, Hive has 可以匹配控制字符的正则表达式。你如何在 CH 中做类似的事情?

我不知道如何在以下命令中正确转义制表符。无论反斜杠的个数是 1、2 还是 4:

$ clickhouse-client --query="SELECT 'Hello\tworld'"
Hello\tworld

$ clickhouse-client --query="SELECT 'Hello\tworld'"
Hello\tworld

$ clickhouse-client --query="SELECT 'Hello\\tworld'"
Hello\tworld

Clickhouse 版本 21.3.11.1

您看到的是 TSV 格式的输出,所以 \t 转换了两次 \t -> 0x9 -> \t

clickhouse-client --query="SELECT 'Hello\tworld' col format PrettyCompact"
┌─col─────────┐
│ Hello world │
└─────────────┘

您可以使用 \t \n \r 和 char(9), char(10), char(13)

clickhouse-client --query="SELECT 'Hello\tworld' like '%'||char(9)||'%' res format PrettyCompact"
┌─res─┐
│   1 │
└─────┘

clickhouse-client --query="SELECT 'Hello\tworld' like '%\t%' res format PrettyCompact"
┌─res─┐
│   1 │
└─────┘