Como muchos han dicho aquí, el mejor enfoque es ISNULL(), sin embargo, si desea una manera fácil de generar todos esos ISNULL(), use el siguiente código:
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'
Esto hará que el trabajo tedioso sea mucho más fácil, luego solo tiene que editar la salida para tener en cuenta los distintos tipos de campo (int, varchar, fechas, etc.)
Editar:contabilidad de varios tipos de datos con valores predeterminados..