我想在 SQLAlchemy 中表示以下查询:
select * from table where bit_count(column & bitmask) > 5
基本上我希望选择设置了一定数量的标志的任何行。但是,SQLAlchemy 似乎没有定义BIT_COUNT()函数。任何人都知道在 SQLAlchemy 中进行此查询的任何技巧吗?
我想在 SQLAlchemy 中表示以下查询:
select * from table where bit_count(column & bitmask) > 5
基本上我希望选择设置了一定数量的标志的任何行。但是,SQLAlchemy 似乎没有定义BIT_COUNT()函数。任何人都知道在 SQLAlchemy 中进行此查询的任何技巧吗?
>>> session.query("id", "name", "thenumber12").\
... from_statement("SELECT id, name, 12 as "
... "thenumber12 FROM users where bit_count(column&bitmask)<:the_val").\
... params(the_val=5).all()
像我想象的那样……
或者
>>> from sqlalchemy import create_engine
>>> engine = create_engine('sqlite:///:memory:', echo=True)
>>> engine.execute("select * from table where bit_count(column & bitmask) > 5").scalar()
请记住,我在假设这是正确使用 bit_count ...