Comme beaucoup l'ont dit ici, la meilleure approche est ISNULL(), cependant si vous voulez un moyen simple de générer tous ces ISNULL(), utilisez le code suivant :
SELECT 'ISNULL([' + COLUMN_NAME + '], ' +
CASE
WHEN DATA_TYPE = 'bit' THEN '0'
WHEN DATA_TYPE = 'int' THEN '0'
WHEN DATA_TYPE = 'decimal' THEN '0'
WHEN DATA_TYPE = 'date' THEN '''1/1/1900'''
WHEN DATA_TYPE = 'datetime' THEN '''1/1/1900'''
WHEN DATA_TYPE = 'uniqueidentifier' THEN '00000000-0000-0000-0000-000000000000'
ELSE '''''' -- everything else get's an empty string
END + ') AS [' + COLUMN_NAME + '],'
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TableName'
Cela rendra le travail fastidieux beaucoup plus facile, il vous suffira ensuite de modifier la sortie pour tenir compte des différents types de champs (int, varchar, dates, etc.)
Edit :prise en compte de divers types de données avec des valeurs par défaut.