我正在使用mysql函数XOR(^)和BIT_COUNT()的Ruby应用程序。不过,我现在需要在运行PyGreSQL的Heroku上运行应用程序。将此MySQL查询翻译成PyGreSQL
我找不到任何可以帮助我的PyGreSQL的文档。
那么任何人都可以翻译这个mysql查询,以便它可以在pygresql数据库上执行时工作吗?
SELECT * FROM "photos" WHERE BIT_COUNT(phash^2061756291569501157) <= 15
pygresql给我的错误
ERROR: operator does not exist: text^bigint
感谢。
'#'是按位异或。 (请参阅http://www.postgresql.org/docs/7.4/static/functions-math.html)我不确定是否有'bit_count()'的确切并行。 – syrion 2011-03-28 13:20:04
啊,有。在这里你去:http://stackoverflow.com/questions/1910369/total-number-of-1s-in-a-postgres-bitmask – syrion 2011-03-28 13:22:21
有用的提示:称为'PostgreSQL'。 PyGreSQL只是Postgres的Python模块。除非该模块有特定的内容,否则您将看到来自Postgres用户的更多帮助。相同的用户不会将它称为Perl的'DBD :: Pg',除非问题与该模块有关,而不是基础数据库/查询。 – vol7ron 2011-03-28 13:32:20