Еще один подход - ISNULL ().
UPDATE [DATABASE].[dbo].[TABLE_NAME]
SET
[ABC] = ISNULL(@ABC, [ABC]),
[ABCD] = ISNULL(@ABCD, [ABCD])
Разница между ISNULL и COALESCE - это тип возвращаемого значения.COALESCE также может принимать более 2 аргументов и использовать первый, который не является нулевым.Т.е.
select COALESCE(null, null, 1, 'two') --returns 1
select COALESCE(null, null, null, 'two') --returns 'two'