从雪花sql中的where子句中删除单引号

Posted

技术标签:

【中文标题】从雪花sql中的where子句中删除单引号【英文标题】:Remove single qoutes from where clause in snowflake sql 【发布时间】:2020-09-21 07:21:08 【问题描述】:

我正在创建一个 Tableau 报表,而我的后端数据库是雪花型。我有一个参数,它有一个字符串值,默认情况下,表将它包装在单个 qoutes 中。我需要将此值作为 where 子句发送到雪花 sql。

例如:从画面中,字符串是“糖尿病 = 1 或吸烟 = 1”,为雪花生成的查询如下

select * from table
where 'diabetes = 1 or smoking = 1'

但我需要

select * from table
where diabetes = 1 or smoking = 1

请帮忙

【问题讨论】:

【参考方案1】:

从 Snowflake 的角度来看,我的建议是使用 REPLACE 函数或类似的方法删除 Tableau 中的单引号。

原因:查询直接在 Snowflake 上执行。它不是作为可以修改/替换/等的字符串传递的。执行前(据我所知)。

亲切的问候:-)

【讨论】:

以上是关于从雪花sql中的where子句中删除单引号的主要内容,如果未能解决你的问题,请参考以下文章

sql查询语句,where条件中包含单引号的解决方案

即使插入了列,“WHERE”子句中的 SQL 未知列

Postgresql在where子句中转义单引号[重复]

SQL语言中的单引号与双引号区别

雪花存储过程:处理多行字符串和单引号

SQL语句id = '1' OR '1' = 1'单引号为啥不成对?