【问题标题】:Single Quote in Cursor Execute for Snowflake Connector雪花连接器的光标执行中的单引号
【发布时间】:2021-02-06 17:06:51
【问题描述】:

我正在尝试将 python 中的雪花连接器中的表更新为雪花表;

update TABLE set X = 100 where Y = 'Applebee's'

为了在 Snowflake UI 中转义单引号,我会将“where”子句格式化为

where Y = 'Applebee\'s'

也试过了:

where Y = 'Applebee''s'

但是,我尝试过的任何修复都无法成功解决 python 中的此错误。有没有办法从 python 中做到这一点,在一步过程中,在雪花中没有任何步骤?我只关心 python 的解决方法。

【问题讨论】:

  • SQL 中的标准是双单引号:'Applebees''s'。我投票结束是一个错字。
  • 双引号不起作用。此外,Snowflake SQL 中的反斜杠可以正常工作。
  • 。 .您的应用程序界面可能有问题,但 Snowflake 绝对支持 '' 表示字符串中的单个 'docs.snowflake.com/en/sql-reference/data-types-text.html

标签: python sql database snowflake-cloud-data-platform


【解决方案1】:

在所有 SQL 中,避免奇怪字符且不必考虑每种可能性的唯一真正方法是将 sql 调用参数化为某种存储过程调用或来自客户端的参数化调用 - 在本例中为 python。

一般来说,这意味着永远不会像上面那样将 sql 字符串连接到 where 子句的值。

这是一个如何在 python here 中对语句进行参数化的示例

【讨论】:

    猜你喜欢
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 2022-01-20
    • 2022-01-24
    • 1970-01-01
    • 2020-03-23
    相关资源
    最近更新 更多