Il y a un bel article ici qui traite de ce point. Les éléments clés à retenir sont qu'il n'y a pas de différence dans la taille de la table, mais certains utilisateurs préfèrent utiliser une chaîne vide car cela peut faciliter les requêtes car il n'y a pas de vérification NULL à faire. Vous venez de vérifier si la chaîne est vide. Une autre chose à noter est ce que signifie NULL dans le contexte d'une base de données relationnelle. Cela signifie que le pointeur vers le champ de caractère est défini sur 0x00 dans l'en-tête de la ligne, donc aucune donnée à laquelle accéder.
Mettre à jour Il y a un article détaillé ici qui parle de ce qui se passe réellement sur une base ligne
le résultat de DBCC PAGE montre que les chaînes NULL et vides occupent toutes deux zéro octet .