小编典典

将此MySQL查询转换为PyGreSQL

sql

我正在使用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

谢谢。


阅读 151

收藏
2021-04-07

共1个答案

小编典典

SELECT  *
FROM    photos
WHERE   (
        SELECT  SUM(((phash::bigint # 2061756291569501157) >> bit) & 1)
        FROM    generate_series(0, 63) bit
        ) <= 15
2021-04-07