我正在开发一个使用mysql函数XOR(^)和BIT_COUNT()的Ruby应用程序。但是我现在需要在运行PyGreSQL的Heroku上运行应用程序。
我找不到任何可以帮助我的PyGreSQL文档。
所以任何人都可以翻译这个mysql查询,以便在pygresql数据库上执行时能够正常工作吗?
SELECT * FROM "photos" WHERE BIT_COUNT(phash ^ 2061756291569501157) <= 15
pygresql给我错误
ERROR: operator does not exist: text ^ bigint
感谢。
答案 0 :(得分:2)
SELECT *
FROM photos
WHERE (
SELECT SUM(((phash::bigint # 2061756291569501157) >> bit) & 1)
FROM generate_series(0, 63) bit
) <= 15