Snowflake cloud data platform 如何在Snowflake/SQL中查找字符串中的第二个/第三个匹配项
我正在尝试将Tableau中的Snowflake cloud data platform 如何在Snowflake/SQL中查找字符串中的第二个/第三个匹配项,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,我正在尝试将Tableau中的FINDNTH函数重新创建为Snowflake/SQL。要用于此公式:lower(ifnull(左([SKU],(FINDNTH([SKU],“,”,2)-1)),[SKU]) FINDNTH(字符串、子字符串、引用) 目标是找到角色的第二个匹配项,然后返回它剩下的所有内容 字段:CGM415_黑色_3XL 期望结果:CGM415_黑色 我试过使用位置和字符索引 挑选 位置(sku)a, 位置(“”),sku,a)b, 位置(sku),位置(sku))c,
FINDNTH
函数重新创建为Snowflake/SQL。要用于此公式:lower(ifnull(左([SKU],(FINDNTH([SKU],“,”,2)-1)),[SKU])
FINDNTH(字符串、子字符串、引用)
目标是找到角色的第二个匹配项,然后返回它剩下的所有内容
字段:CGM415_黑色_3XL
期望结果:CGM415_黑色
我试过使用位置和字符索引
挑选
位置(sku)a,
位置(“”),sku,a)b,
位置(sku),位置(sku))c,
CHARINDEX(单品)d,
CHARINDEX(“,”sku,d)e,
CHARINDEX(单品单位,CHARINDEX(单品单位))f,
数据库中的sku;
所有这些列(a-f)都显示7而不是13(如果CGM415_Black_3XL是值)。以下SQL将给出结果
substring(sku,1,regexp_instr(sku,'_',1,2)-1)
regexp_instr(sku,'-',1,2)将为您提供第二个
是的!完美的非常感谢。