Snowflake cloud data platform Snowflake是否支持类似于SQL Server的不区分大小写的where子句筛选器

Snowflake cloud data platform Snowflake是否支持类似于SQL Server的不区分大小写的where子句筛选器,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,我正在将SQL代码迁移到snowflake,在迁移过程中,我发现默认情况下snowflake不正确地比较varchar字段(例如,选择1,其中“Hello”=“Hello”)。为了解决这个问题,我在帐户级别设置了排序规则“en ci”。但是现在我无法使用替换之类的关键功能 在snowflake中,是否可以进行不区分大小写的varchar比较(不明确提及排序规则或每次都不使用UPPER函数),而仍然使用replace函数 我将感谢任何帮助 谢谢,regexp\u replace是您的朋友,它允许使

我正在将SQL代码迁移到snowflake,在迁移过程中,我发现默认情况下snowflake不正确地比较varchar字段(例如,选择1,其中“Hello”=“Hello”)。为了解决这个问题,我在帐户级别设置了排序规则“en ci”。但是现在我无法使用替换之类的关键功能

在snowflake中,是否可以进行不区分大小写的varchar比较(不明确提及排序规则或每次都不使用UPPER函数),而仍然使用replace函数

我将感谢任何帮助


谢谢,

regexp\u replace是您的朋友,它允许使用代表“忽略大小写”的“i”参数:

例如,您可以这样做:

select regexp_replace('cats are grey, cAts are Cats','cats','dogs',1,0,'i');
我已经假设了位置和发生的默认值,但这些值也可以调整

您仍然可以进行比较(也基于regexp,也称为“RLIKE”):

您可以通过


regexp\u replace仍然生成错误“SQL编译错误:位置7处的错误行1函数regexp\u replace不支持排序规则”。因为您需要删除排序规则,所以您将能够使用regexp\u replace和rlike。除此之外,您可以等待-支持排序规则的函数数量不断增加。。。
select 1 where 'Hello' ilike 'hello'