Привет! Я ищу функцию SQL-запроса или структуру базы данных, которые можно было бы использовать для сравнения количества «установленных битов» в целочисленном / большом значении, порядок битов не имеет значения (аналогично инструкции POPCNT в SSE4)
для сравнения каждого бита я мог бы использовать операцию маскирования, но в SQL-запросе сравнение каждого бита не обеспечивает необходимой гибкости в случае допустимого количества «установленных битов», допустим, вам нужно сравнить минимальные 8-дюймовые установленные биты «(хотя число возможных битов больше 8, скажем, 64 бита), чтобы ваше утверждение было верным, я не думаю, что это было бы возможно с SQL-запросом, даже если бы он мог, я не знаю, сколько это повлияет на производительность, а также я не хотел читать запрос
так вот мой псевдокод о запросе:
SELECT id FROM my_table WHERE popcnt (attrib & 0x1FFF)> 8
а. я использую функцию popcnt как напоминание о команде popcnt SSE4
б. attrib - это целочисленное поле, оно может быть целым, bigint и т. д.
Я ищу стандартизированную / специализированную функцию (какая база данных?), Которая могла бы заменить функцию popcnt в моем псевдокоде, или есть другой механизм, позволяющий приблизиться к аналогичному результату?