Сам смысл полей может меняться от версии к версии.Типа в прошлой версии это был пол клиента, а теперь вес, в следующей - рост? )))))
если значений в будущем будет больше? например 1000, "OR" на каждый писать...вариантов много - от динамического sql до жестоких join-ов с like
Возможно ли подобное написать одним запросом (использовать PL/SQL стандартные функции допускается)?Да. Тем же join где условие связи использует like
что имелось ввиду под "банальный like" - не понятно, конечное сопоставление? Или изначально всё решение задачи?
Хранить данные правильно не получится - сторонний разработчик ПО, который вряд ли будет менять логику своего продукта, в том числе и структуру БД.
Да и никто не отменял PL/SQL блоки или ЯП на уровне приложения, что бы сделать отбор.
Ну или рассчитывать на концепцию неуловимого джо