【问题标题】:Pass SQL Query as parameter with single Quotes使用单引号将 SQL 查询作为参数传递
【发布时间】:2018-09-07 15:31:24
【问题描述】:

我有用例将 SQL 查询作为参数传递给 python 脚本。 SQL 查询可以是具有不同表名/列名的变量。

查询将采用以下格式 -

Select distinct col1, col2,...,to_char(load_date, 'YYYY-MM-DD') load_date from <tabl_name> limit 10

我想参数化这个查询。但是,当我将查询作为参数传递时,查询中的单引号(')使 python 查找不同的列,我收到以下错误消息:

sqlalchemy.exc.ProgrammingError: (pg8000.core.ProgrammingError) ('ERROR', '42703', 'column "yyyy" does not exist in '

我尝试了 \ 或两个单引号('')作为转义字符,但没有运气。我可以通过 to_char

【问题讨论】:

    标签: python sqlalchemy


    【解决方案1】:

    实际上,当我使用 3 个双引号传递 SQL 时,该参数起作用 -

    python """选择不同的col1, col2,...,to_char(load_date, 'YYYY-MM-DD') load_date from 限制 10"""

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      • 2011-04-14
      • 1970-01-01
      • 2019-01-02
      相关资源
      最近更新 更多