0
我有一个奇怪的问题,使用Oracle 11g后端为SQLAlchemy查询字符串。首先,类定义(适用于Oracle,Postgres的是同样的减Sequence
):在SQLAlchemy + Oracle中过滤空字符串
class Item(Base):
__tablename__ = 'item'
id = Column(Integer, Sequence('id_seq'), primary_key=True)
...
review = Column(Unicode(2000), index=True)
基本查询工作没有与Postgres后端的一个问题:
In [1]: len(DBSession.query(Item).filter(Item.review != '').limit(100).all())
Out[1]: 100
然而,随着的Oracle 11g:
In [31]: len(DBSession.query(Item).filter(Item.review != '').limit(100).all())
Out[31]: 0
通过空的Unicode字符串进行筛选在Oracle中不起作用:
In [32]: len(DBSession.query(Item).filter(Item.review != u'').limit(100).all())
Out[32]: 0
为什么这么基本的东西不适用于Oracle?我该如何解决这个问题?