Jak mogę utworzyć unikalny indeks w Oracle, ale zignorować wartości null?

Próbuję utworzyć unikalne ograniczenie na dwóch polach w tabeli. Istnieje jednak duże prawdopodobieństwo, że jedno będzie zerowe. Wymagam tylko, aby były unikalne, jeśli oba nie są zerowe (name nigdy nie będzie null).

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

Ignoruj ​​semantykę nazw tabel i pól i czy to ma sens - właśnie coś wymyśliłem.

Czy istnieje sposób na utworzenie unikalnego ograniczenia w tych polach, które wymusi unikalność dla dwóch wartości nie będących wartościami null, ale zignoruje, jeśli istnieje wiele wpisów, w którychname nie jest zerowy iemail jest null?

To pytanie dotyczy SQL Server i mam nadzieję, że odpowiedź nie jest taka sama:Jak utworzyć unikalne ograniczenie, które pozwala również na wartości null?

questionAnswers(2)

yourAnswerToTheQuestion