I want the index to recognize the null on col3 to prevent the
insertion of two iditinical records with the col3 null.
The problem with this kind of reasoning is that it expects two nulls to be
the same thing: the truth is that null is neither equal to, nor different
from, another null. Therefore, the database has no way of knowing whether
the record (Grey, Delta, NULL) is the same as (Gray, Delta, NULL) or not.
It is obviously not possible to build an index on this footing.
If you agree that the two records are distinct, then it is not possible to
be sure which record is which. On the other hand, it is not likely to be
safe to assume that they are the same if you don't even know either value.
I would guess that you have a Database Design Error and need to look again
at your entities.
Hope that helps
Tim F