In Reply to STJ, you're right in that I left out the enclosing block that made the contract SQL ninja-like. I was just suggesting a way to cast off all the NULLs in the contract SQL; reading the datatypes from the db instead hardcoding them. It would be easier to maintain and easier to code for slackers like me.
FROM:
IF 1 = 2
BEGIN
SELECT CAST(NULL AS INT) AS ContactID
,CAST(NULL AS NVARCHAR(50)) AS FirstName
, CAST(NULL AS NVARCHAR(50)) AS MiddleName
, CAST(NULL AS NVARCHAR(50)) AS LastName
, CAST(NULL AS NVARCHAR(10)) AS Suffix
, CAST(NULL AS NVARCHAR(50)) AS EmailAddress
END
TO:
IF 1 = 2
BEGIN
SELECT ContactID
, FirstName
, MiddleName
, LastName
, Suffix
, EmailAddress
FROM Person.Contact
where 2 = 4
END