• 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