Как я могу создать уникальный индекс в Oracle, но игнорировать нули?

Я пытаюсь создать уникальное ограничение для двух полей в таблице. Тем не менее, существует высокая вероятность того, что он будет нулевым. Я только требую, чтобы они были уникальными, если оба не нулевые (name никогда не будет нулевым).

create unique index "name_and_email" on user(name, email);

Не обращайте внимания на семантику имен таблиц и полей и на то, имеет ли это смысл - я только что придумал.

Есть ли способ создать уникальное ограничение для этих полей, которое обеспечит уникальность для двух ненулевых значений, но игнорирует, если есть несколько записей, гдеname не является нулевым иemail нулевой?

Этот вопрос для SQL Server, и я надеюсь, что ответ не тот:Как создать уникальное ограничение, которое также допускает нулевые значения?

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

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