Je veux avoir la fonction dans le server de sql semblable à ISNULL () excepté qu'il devrait vérifier l'expression pour null et vide également.
Si le premier paramètre est null ou vide, renvoie second.
Est-ce que quelqu'un peut m'aider?
Vous pouvez utiliser NULLIF
et ISNULL
:
SELECT ISNULL(NULLIF(@parameter, ''), @parameter2)
NULLIF
renverra NULL incase les deux parameters passés sont identiques. Et ISNULL
returnnera la deuxième valeur si la première valeur est NULL.
DECLARE @Input varchar(10) =NULL; --DECLARE @Input varchar(10) =''; --DECLARE @Input varchar(10) ='Good'; SELECT ISNULL(NULLIF(@Input,''),'Input is null or blank')
Vous pouvez utiliser COALESCE
:
Par exemple:
SELECT COALESCE(First,Second,Third,'') From TableName
COALESCE
returnnera la première valeur non nulle dans la list. Lire la suite ici
MODIFIER:
Pour vérifier avec emptyssortingng, vous pouvez utiliser CASE
:
SELECT CASE WHEN COALESCE(Field,'')='' THEN 'This is NULL or Empty' END