【问题标题】:Web2py's 'contains' function for 'instr' function of mysqlWeb2py 的 'contains' 函数用于 mysql 的 'instr' 函数
【发布时间】:2014-08-21 12:09:42
【问题描述】:

我有这个对我来说很好用的 mysql 查询

select * from mc,mcex
where instr(mcex.example,mc.element)

我在 web2py 中为此编写了以下代码,如下所示:

 rows=db(db.mcex.example.contains(db.mc.element)).select()

它不工作。请帮忙。

【问题讨论】:

    标签: web2py


    【解决方案1】:

    使用 web2py DAL,查询(生成 SQL WHERE 子句)可以简单地是一串 SQL 代码,所以你可以这样做:

    rows = db('instr(mcex.example, mc.element)').select(db.mcex.ALL, db.mc.ALL)
    

    更新:

    如果您需要查询条件的组合,可以通过链接Set 对象调用来实现:

    rows = db(query1)(query2)('instr(mcex.example, mc.element)').select(
        db.mcex.ALL, db.mc.ALL)
    

    【讨论】:

    • 它在用作唯一条件时有效,但在与使用“&”连接的其他条件结合使用时会显示错误。它说不能在查询中使用字符串。
    • Set 对象是可调用的(并返回新的Set 对象),因此您可以通过链接调用来产生连词。请参阅编辑后的答案。
    • 它可以工作,但如果我将来决定迁移到 SQL Server 或 Oracle 怎么办?
    猜你喜欢
    • 2014-12-07
    • 2019-07-17
    • 2019-01-18
    • 1970-01-01
    • 2017-03-25
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多