在 Oracle 中使用 nvl 创建唯一约束

dbf*_*dbf 1 oracle unique-constraint

当我需要将空值视为相等时,如何创建唯一约束。

为了

更改表 T1 添加约束 T1_UN 唯一 (nvl(C1, ' '))

我明白了

 ORA-00904: : invalid identifier
Run Code Online (Sandbox Code Playgroud)

nvl 点数

谢谢!

Thi*_*ilo 5

NOT NULL 似乎是一个更好的主意,但您可以使基于函数的索引独一无二:

 create unique index idx_t1 on t1 (nvl(C1, ' '));
Run Code Online (Sandbox Code Playgroud)