Как элегантно проверить что несколько условий одновременно выполняются или одновременно не выполняются?
Допустим есть три условия, выразим их буквами A, B, C.
Нужно как-то элегантно проверить выполняются ли они все одновременно или одновременно не выполняются.
Записать это можно так: (A and B and C) or (not A and not B and not C).
А как записать то же самое в посгресе, но что-бы A, B и C в формуле встречались по одному разу. Например, можно так: (A)::int + (B)::int + (C)::int IN (0, 3).
А как это можно сделать элегантно, чтобы не стыдно было?
Лентюй, нет. Делаю ограничения-проверки (CONSTRAINT CHECK) и нужно проверять выполняются ли несколько условий одновременно или одновременно не выполняются.
Например, такие три условия: type='DEPOSIT'; sum > 0; account IS NOT NULL.
Блин, спасибо. Сформулировал пример и понял, что это не то что мне нужно, получается академический интерес.