【问题标题】:Python, Sqlite - Is there any way to neuter a condition in WHERE clause of a query?Python,Sqlite - 有没有办法在查询的 WHERE 子句中中性条件?
【发布时间】:2017-06-08 09:29:30
【问题描述】:

我在表单上有一些输入框和一个按钮,该按钮将通过执行由 WHERE 子句组成的查询来搜索数据库的表,该子句具有与输入框相对应的几个条件。 用户可能会也可能不会填写所有输入框,所以我只想有一个预定义的查询,其中包含 where 子句中的所有列,例如:

column01=? AND column02=? AND ... AND columnN=?

然后有一个元组或列表,我只是在一个循环上构建了一个循环,其中输入的数据以相同的顺序放置,WHERE 子句的列被排列并且每个输入只检查它是否是 "" em> (未输入),如果是这样,列表中的相应位置将被分配 something 使特定条件透明!。为了澄清我自己,看看如果用户填写 no 输入框意味着什么(想象那个东西会是一个 asterisk):

"SELECT * FROM sometable WHERE column01=* AND ... AND columnN=*"  

希望像这样的查询:

"SELECT * FROM sometable"

它对任何列都没有约束。这可信吗?

【问题讨论】:

  • 查看like option
  • @Christos Papoulas 非常感谢您准确简洁的回复。

标签: python sqlite


【解决方案1】:

正如克里斯托斯在上面正确指出的那样,SQL 查询中的模式匹配是执行此操作以及许多其他更复杂的事情的方法。 我只需要使用 LIKE 而不是等号并将'%' 分配给我想要透明的任何条件。更多信息here

【讨论】:

    猜你喜欢
    • 2020-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    • 2021-09-13
    • 2012-02-17
    • 1970-01-01
    相关资源
    最近更新 更多