Перевести этот запрос MySQL на PyGreSQL - PullRequest
1 голос
/ 28 марта 2011

Я работаю над приложением Ruby, которое использует функции mysql XOR (^) и BIT_COUNT ().Однако теперь мне нужно запустить приложение на Heroku, которое запускает PyGreSQL.

Я не могу найти какую-либо документацию по битам PyGreSQL, которая может мне помочь.

Так что любой может перевести этот mysqlзапрос, чтобы он работал при выполнении в базе данных pygresql?

SELECT * FROM "photos" WHERE BIT_COUNT(phash ^ 2061756291569501157) <= 15

pygresql выдает ошибку

ERROR:  operator does not exist: text ^ bigint

спасибо.

1 Ответ

2 голосов
/ 28 марта 2011
SELECT  *
FROM    photos
WHERE   (
        SELECT  SUM(((phash::bigint # 2061756291569501157) >> bit) & 1)
        FROM    generate_series(0, 63) bit
        ) <= 15
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...