Char with null

  • Comments posted to this topic are about the item Char with null

  • The answer is clearly wrong. Some of these questions are really questionable.

    The

    isnull(left(@b,3),'I ô Char') as ba

    will also return the string. The left function of @b-2 returns NULL.

    So long, and thanks for all the fish,

    Russell Shilling, MCDBA, MCSA 2K3, MCSE 2K3

  • Russell Shilling (1/10/2017)


    The answer is clearly wrong. Some of these questions are really questionable.

    The

    isnull(left(@b,3),'I ô Char') as ba

    will also return the string. The left function of @b-2 returns NULL.

    Well, if you'd run the code you'd find it's completely correct.

    What's missing in the explanation is the behaviour of ISNULL(). It always derives its return type from the first argument, which in the "ba" case will be char(3) as that is what LEFT() will return.


    Just because you're right doesn't mean everybody else is wrong.

  • Good question. Could use a bit more explanation though. Interesting what happens if you replace ISNULL with COALESCE.

  • sendijunk (1/11/2017)


    Good question. Could use a bit more explanation though. Interesting what happens if you replace ISNULL with COALESCE.

    The return type depends on "precedence" of types. In this case, the longest string of 8 chars.

  • Rune Bivrin (1/10/2017)


    Russell Shilling (1/10/2017)


    The answer is clearly wrong. Some of these questions are really questionable.

    The

    isnull(left(@b,3),'I ô Char') as ba

    will also return the string. The left function of @b-2 returns NULL.

    Well, if you'd run the code you'd find it's completely correct.

    What's missing in the explanation is the behaviour of ISNULL(). It always derives its return type from the first argument, which in the "ba" case will be char(3) as that is what LEFT() will return.

    And for those inquiring minds that would like a quick link for the ISNULL function, https://msdn.microsoft.com/en-us/library/ms184325.aspx.

  • I've been caught by these before so had to try it out.

  • Rune Bivrin (1/10/2017)


    Russell Shilling (1/10/2017)


    The answer is clearly wrong. Some of these questions are really questionable.

    The

    isnull(left(@b,3),'I ô Char') as ba

    will also return the string. The left function of @b-2 returns NULL.

    Well, if you'd run the code you'd find it's completely correct.

    What's missing in the explanation is the behaviour of ISNULL(). It always derives its return type from the first argument, which in the "ba" case will be char(3) as that is what LEFT() will return.

    +1

    The question itself I thought was a great question but the explanation skipped the important part about the return datatype from ISNULL.

    I look forward to the next question from Tejinder and hope the explanation is as good as the question next time.

    _______________________________________________________________

    Need help? Help us help you.

    Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.

    Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.

    Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
    Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
    Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
    Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/

  • Iwas Bornready (1/11/2017)


    I've been caught by these before so had to try it out.

    Me, too.

    Thanks, Tejinder!

  • This was removed by the editor as SPAM

  • Russell Shilling (1/10/2017)


    The answer is clearly wrong. Some of these questions are really questionable. The

    isnull(left(@b,3),'I ô Char') as ba

    will also return the string. The left function of @b-2 returns NULL.

    Well, if you'd run the code you'd find it's completely correct. What's missing in the explanation is the behaviour of ISNULL(). It always derives its return type from the first argument, which in the "ba" case will be char(3) as that is what LEFT() will return.

    I guess we now have additional evidence of the value (or lack thereof) of MCDBA, MCSA, and MCSE qualifications in filtering CVs.

    Tom

  • Revenant - Wednesday, January 11, 2017 9:17 AM

    Iwas Bornready (1/11/2017)


    I've been caught by these before so had to try it out.

    Me, too.Thanks, Tejinder!

    thanks everyone for their comments / feedback. i agree explanation of the answer was not upto mark . i will try to be more clear in future

Viewing 13 posts - 1 through 12 (of 12 total)

You must be logged in to reply to this topic. Login to reply