Hi Rajendra
Greetings
In SQL Server try the following scripts for better understanding.
"
UNIQUE column can have ONLY ONE NULL ", But, NULL and '' (Empty string) are
NOT SAME .
USE MASTER
IF OBJECT_ID('TB_SAMPLE','U') IS NOT NULL
DROP TABLE TB_SAMPLE
GO
CREATE TABLE TB_SAMPLE
(
ID INT,
COL1 VARCHAR(20)NULL CONSTRAINT UNI_COL1 UNIQUE)
GO
INSERT TB_SAMPLE VALUES(100,'A')
INSERT TB_SAMPLE VALUES(101,NULL)
INSERT TB_SAMPLE VALUES(102,'')
INSERT TB_SAMPLE VALUES(103,NULL)
GO
Error Message:
Msg 2627, Level 14, State 1, Line 5
Violation of UNIQUE KEY constraint 'UNI_COL1'. Cannot insert duplicate key in object 'dbo.TB_SAMPLE'.
Result :
SELECT *,CASE WHEN COL1 IS NULL THEN 'THE COLUMN ''COL1'' HAS NULL'
WHEN COL1 ='' THEN 'THE COLUMN ''COL1'' HAS EMPTY STRING'
ELSE 'THE COLUMN ''COL1'' HAS SOME VALUE' END 'Explanation'
FROM TB_SAMPLE
ID COL1 Explanation
----------- -------------------- ----------------------------------
100 A THE COLUMN 'COL1' HAS SOME VALUE
101 NULL THE COLUMN 'COL1' HAS NULL
102 THE COLUMN 'COL1' HAS EMPTY STRING
Cheers
Cheers
www.SQLServerbuddy.blogspot.com
iLink Multitech Solutions
Rajendra.prasad, if this helps please login to Mark As Answer. | Alert Moderator