SQL Server comment définir une valeur par défaut lorsque la colonne est null

Ceci est mon SQL dans le server SQL:

SELECT user_Name ,user_pass ,user_hometown FROM user_baseinfo 

Parfois, la colonne peut être nulle. Quand c'est le cas, je veux le replace par une valeur par défaut.

Cas d'utilisation

 select case when user_Name is null then "default value" else user_name end from table 
 SELECT IsNull(user_Name, 'Unknown Name') AS user_Name, IsNull(user_pass, 'Unknown Pass') AS user_pass, IsNull(user_hometown, 'Unknown Hometown') AS user_hometown FROM user_baseinfo 

Sachez cependant que IsNull a la priorité du second type d'argument. Cela peut provoquer un découpage indésirable de la valeur par défaut, si la colonne du premier argument a un type, qui est plus court que celui de la valeur par défaut. Dans de tels cas, Coalesce est un meilleur choix.

Voici un exemple montrant la différence entre IsNull et Coalesce :

 CREATE TABLE #Sample (Value1 varchar(100), Value2 char(3)); INSERT INTO #Sample (Value1, Value2) VALUES ('AAA', 'AAA'), ('BBB', 'BBB'), ('CCC', 'CCC'), (NULL, NULL); SELECT IsNull(Value1, 'Default') AS Value1, IsNull(Value2, 'Default') AS Value2 FROM #Sample; SELECT Coalesce(Value1, 'Default') AS Value1, Coalesce(Value2, 'Default') AS Value2 FROM #Sample; 

Voir que Default à Def lorsque IsNull est utilisé.

Pour les lignes existantes (En supposant que la colonne est varchar )

 ALTER TABLE TableName ADD CONSTRAINT ConstraintName DEFAULT N'Default Value' FOR ColumnName; 

Vous voulez utiliser le mot-key DEFAULT .

Exemple tiré du site Web

 CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) DEFAULT 'Sandnes' ) 

Voici un lien vers le site.

J'utilise sql server management studio pour faire de même

Capture d'écran du studio de gestion