【问题标题】:Snowflake dynamic where clause in SQL UDFSQL UDF 中的雪花动态 where 子句
【发布时间】:2022-01-05 06:10:47
【问题描述】:

我在 Snowflake 中有一个 SQL UDF,我在其中调用带有参数 (function_input) 的函数,该参数进入 where 子句:

WHERE X IN (SELECT VALUE FROM TABLE(SPLIT_TO_TABLE(function_input, ',')))

但我希望它是动态的,所以如果 function_input 的值为 '*' 则意味着全部,但我还没有找到在 IN() 语句中使用“通配符”的任何解决方案。

有什么方法可以在 where 子句中使用某种 CASE,所以当我的输入 = * 时我有一个 where 子句,当我的输入是 'x,y,z 时我有一个“正常”IN() '?

【问题讨论】:

    标签: snowflake-cloud-data-platform dynamic-sql


    【解决方案1】:

    LIKE ANY 可以帮助我:

    WHERE X LIKE ANY (SELECT VALUE FROM TABLE(SPLIT_TO_TABLE(function_input, ',')))
    

    我可以输入列表 'x,y,z' 或者我可以输入 '%' 作为通配符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-09
      • 2018-10-08
      • 1970-01-01
      • 1970-01-01
      • 2010-09-13
      • 2014-03-03
      • 1970-01-01
      相关资源
      最近更新 更多