【问题标题】:sqlalchemy "incomplete format" problemssqlalchemy“格式不完整”问题
【发布时间】:2011-12-13 18:18:11
【问题描述】:

我使用 sqlalchemy 作为 MySQLdb 的替代品,这意味着我使用的是 session.execute 而不是映射器。

但是我遇到了一个可重现的错误,即 ValueError: “incomplete format” 异常,无论我在查询中使用“%”,这是一个问题,因为“%”字符对于 UNIX_TIMESTAMP 的日期格式和MySQL 中的 LIKE 语句。

我尝试过使用“\%”、“\\%”和“%%”,但没有成功。

【问题讨论】:

  • 一个代码示例会很有帮助

标签: python mysql sqlalchemy sql-like


【解决方案1】:

具体情况可以使用方法:contains()startswith()endswith()

为了说明如何使用它:

session.query(Users).filter(User.full_name.startswith('Mr.%s' % first_name))) 
# => It is equivalent to requesting full_name LIKE 'Mr.user1%'

session.query(Users).filter(User.full_name.endswith('%s.' % last_name))) 
# => It is equivalent to requesting full_name LIKE '%user1.'

session.query(Users).filter(User.full_name.contains('%s' % middle_name))) 
# => It is equivalent to requesting full_name LIKE '%user1%'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多