Могу ли я преобразовать кучу логических столбцов в одно растровое изображение в PostgreSQL?

Я хотел бы преобразовать запрос, такой как:

SELECT BoolA, BoolB, BoolC, BoolD FROM MyTable;

В битовую маску, где биты определяются значениями выше.

Например, еслиBoolA а такжеBoolD были правдой, я бы хотел1001 или же9.

Я имею в виду что-то такое:

SELECT
   CASE WHEN BoolD THEN 2^0 ELSE 0 END +
   CASE WHEN BoolC THEN 2^1 ELSE 0 END +
   CASE WHEN BoolB THEN 2^2 ELSE 0 END +
   CASE WHEN BoolA THEN 2^3 ELSE 0 END
FROM MyTable;

Но я не уверен, что это лучший подход и кажется довольно многословным. Есть простой способ сделать это?

Ответы на вопрос(2)

Ваш ответ на вопрос