- 此问题已在此处有答案**:
Can't escape the backslash in a regular expression?(7个回答)
20小时前关闭。
我在Snowflake中尝试正则表达式,得到“Function RLIKE does not support collation.”为什么会出现此错误?(这不是重复的正则表达式问题)。
我有一个带varchar列的Snowflake表。它有字符串和''值,但我想找到可能的''空白值。所以我试了一个这样的正则表达式:
select distinct col, count(*) cnt
from T1
where col REGEXP '^\s$'
group by col;
select col
from T1
where RLIKE (col, '*\s*');
我在REGEXP和RLIKE中得到了这个:
Function RLIKE does not support collation.
我对regexp基本上很熟悉,但这是第一次在Snowflake中使用。Snowflake文档有这样的例子,所以我不明白。我查看了表定义,此列具有
col VARCHAR(10) NOT NULL COLLATE 'en-ci',
我读了COLLATE的功能,但它仍然没有告诉我如何克服这个错误。请指示。
1条答案
按热度按时间up9lanfz1#
RLIKE-排序规则详细信息
当前不支持具有排序规则规范的参数。
参数可以转换为
TEXT
,但它不会保留原始列的排序规则:单引号字符串常量中的转义序列:
如果字符串常量必须包含反斜杠字符(例如,C:\(在Windows路径中为
\d
,在正则表达式中为\d
),必须用第二个反斜杠对反斜杠进行转义。例如,要在字符串常量的正则表达式中包含\d
,必须使用\\d
。