【问题标题】:How to bind variable in string in SQL query?如何在 SQL 查询中绑定字符串中的变量?
【发布时间】:2020-03-21 21:35:53
【问题描述】:

我正在使用 SQL Developer。当我想绑定值时。通常我使用以下语法:

    SELECT * FROM table WHERE column = :bindvalue

但是,我不知道如何在字符串中做到这一点。以下查询不起作用。

    SELECT * FROM table WHERE column like '%:bindvalue%'

我为什么需要它?因为我的程序在 python 中运行查询并为绑定变量分配了一些东西:

    curr.execute('''SELECT * FROM table WHERE column''' = :bindvalue, bindvalue=somevalue)

【问题讨论】:

    标签: sql oracle oracle12c bind-variables


    【解决方案1】:

    将前缀/后缀与绑定变量连接起来:

    SELECT * FROM table WHERE column like '%' || :bindvalue || '%'
    

    【讨论】:

    • 其实很明显,我很惭愧。感谢您的回答。
    • 谢谢你,今天帮助了我。注意 MySQL,您需要使用 CONCAT('%', :bindvalue, '%') 或启用 PIPES_AS_CONCAT SQL 模式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    • 2010-12-06
    相关资源
    最近更新 更多