I won't use COALESCE, because it's broken:
SELECT COALESCE((SELECT CASE WHEN RAND() <= 0.5 THEN 999 END), 999);
SELECT ISNULL((SELECT CASE WHEN RAND() <= 0.5 THEN 999 END), 999);
The final 999 value in both forms should ensure the overall result is never NULL, right?
Paul
Paul White
SQLPerformance.com
SQLkiwi blog
@SQL_Kiwi