Implémentation de la fonction IsNullOrEmpty en SQL Server

Publié le 23 octobre 2007 par Olivier Moreau

Denis Gobo en réponse à un article de Mladen Prajdic a créer en SQL une fonction équivalente à la fonction IsNotNullOrEmpty en C#

 
CREATE FUNCTION dbo.IsNotNullOrEmpty(@text NVARCHAR(4000),@BlanksIsEmpty bit)
  RETURNS BIT
  AS
  BEGIN
  DECLARE @ReturnValue bit
 
  IF @BlanksIsEmpty = 0
    BEGIN
      SELECT @ReturnValue= SIGN(COALESCE(DATALENGTH(@text),0))
    END
  ELSE
    BEGIN
      SELECT @ReturnValue= SIGN(COALESCE(DATALENGTH(RTRIM(@text)),0))
    END
 
  RETURN @ReturnValue
 
  END
 
Go

On peut passe deux arguments à la fonction,

le premier : la chaine à analyser

le deuxième : 0 : On considère les espaces comme des caractères / 1 : on considère les espaces comme null
La fonction retourne 0, si la chaine est vide et 1 si elle ne l'est pas.