CONVERT function

  • This definitely required some reading. I will definitely be able to use what I learned. Thanks.

  • Toreador (1/13/2011)


    You mean I was supposed to read all the words in your reply?!

    For the one time Hugo has fairly short reply 😀

    Need an answer? No, you need a question
    My blog at https://sqlkover.com.
    MCSE Business Intelligence - Microsoft Data Platform MVP

  • Koen (da-zero) (1/13/2011)


    Great, but difficult question.

    I had to read the section on converting binary string data on the MSDN page for CAST and CONVERT a few times to get it.

    But only 1 point? It deserves a lot more...

    I agree, just for making sure I checked the exactly right boxes I think it's worth 2... I spent a good 5 minutes reading and re-reading the options



    --Mark Tassin
    MCITP - SQL Server DBA
    Proud member of the Anti-RBAR alliance.
    For help with Performance click this link[/url]
    For tips on how to post your problems[/url]

  • How long has SQL 2008 been around? Close to 3 years.

    And how long have I known about CONVERT styles for these non-date datatypes? Close to 3 minutes.

    Thanks for the question. Got me reading BOL and discovering new - and useful - functionality (which I probably should have known about well before now.... but there you go).


    Cheers,
    - Mark

  • thanks for the question.

    Jason...AKA CirqueDeSQLeil
    _______________________________________________
    I have given a name to my pain...MCM SQL Server, MVP
    SQL RNNR
    Posting Performance Based Questions - Gail Shaw[/url]
    Learn Extended Events

  • I think it would have been clearer if the question mentioned Binary in the title or Differences between SQL 2005 and 2008. Looking at the code I had no idea what it meant so had to guess - and that was after running it in SQL 2008!

  • I don't have access to SQL 2005 and i tried to run against 2008 and selected answers accordingly

  • Thanks for the question!

  • Nice question. Thanks

    Thanks

  • I know a lot about 2k8, but wasn't familiar with this at all.

    Plus, the question reminds me of an episode of Whose line is it anyway where they do a spoof of Do you want to be a Millionaire?

    Itzik:

    I'd like to see MS provide parameter helpers to some of the functions, simliar to .NET

    For example:

    select convert(varchar(10), getdate(), styleMMDDYY)

    select convert(varchar(10), getdate(), styleDDMMYY)

    or

    select convert(varchar(10), getdate(), 'mmddyy')

    convert(varchar(10), getdate(), 'ddmmyyyy')

    number formatting:

    select convert(varchar(20), 1234, '###zzz')

    -dennis

    Dennis Parks
    MCSE, MCDBA, MCSD, MCAD, MCTS

  • dennisparks (1/27/2011)


    I know a lot about 2k8, but wasn't familiar with this at all.

    Plus, the question reminds me of an episode of Whose line is it anyway where they do a spoof of Do you want to be a Millionaire?

    Itzik:

    I'd like to see MS provide parameter helpers to some of the functions, simliar to .NET

    For example:

    select convert(varchar(10), getdate(), styleMMDDYY)

    select convert(varchar(10), getdate(), styleDDMMYY)

    or

    select convert(varchar(10), getdate(), 'mmddyy')

    convert(varchar(10), getdate(), 'ddmmyyyy')

    number formatting:

    select convert(varchar(20), 1234, '###zzz')

    -dennis

    That is a nice suggestion, but what is the point? The database purpose is to store data efficiently. Not to present the data nicely.

    That is the purpose of the end-user application, such as SSRS. And in SSRS that functionality is present.

    Need an answer? No, you need a question
    My blog at https://sqlkover.com.
    MCSE Business Intelligence - Microsoft Data Platform MVP

  • But if you suggest the database is not to format data nicely, why even have the convert, cast, substring, etc... functions??

    I would argue that a significant amount of database development time is invested. Why not make that development time more efficient, just like in .net

    I have intellisense in .net, and now even SQL, so why not provide intellisense on the SQL function parameters or more mneumonic intuitive values.

    Resharper, c# does.

    Dennis Parks
    MCSE, MCDBA, MCSD, MCAD, MCTS

  • dennisparks (1/27/2011)


    But if you suggest the database is not to format data nicely, why even have the convert, cast, substring, etc... functions??

    I think CAST and CONVERT are more used to convert the data types, not to re-format the data in the same data type.

    SUBSTRING and other functions can also be used to extract information, not just to layout things.

    dennisparks (1/27/2011)


    I would argue that a significant amount of database development time is invested. Why not make that development time more efficient, just like in .net

    I have intellisense in .net, and now even SQL, so why not provide intellisense on the SQL function parameters or more mneumonic intuitive values.

    Resharper, c# does.

    Indeed, a lot of development time is spent on such tasks.

    But again, in my opinion, layouting the data nicely is more of a task for the end-user tool (unless it is really lightweight).

    On the other hand, if you are using SQL to present your data to end users, then such functions could be useful. But I haven't really felt the need for it (yet).

    Need an answer? No, you need a question
    My blog at https://sqlkover.com.
    MCSE Business Intelligence - Microsoft Data Platform MVP

  • bitbucket-25253 (1/12/2011)


    Comments posted to this topic are about the item <A HREF="/questions/T-SQL/71904/">CONVERT function</A>

    I have only sql 2008 installed in my desk. i tried executing the select's by changing the compatibility mode to 90 and 100 manually.

    And i got :

    --2005:

    EXEC dbo.sp_dbcmptlevel @dbname=N'MyDB', @new_cmptlevel=90

    go

    select convert(varchar(12),0x49747A696B,0) AS [Column 0],

    convert(varchar(12),0x49747A696B,1) AS [Column 1],

    convert(varchar(12),0x49747A696B,2) AS [Column 2]

    Column 0 Column 1 Column 2

    ------------ ------------ ------------

    Itzik 0x49747A696B 49747A696B

    --2008:

    EXEC dbo.sp_dbcmptlevel @dbname=N'MyDB', @new_cmptlevel=100

    go

    select convert(varchar(12),0x49747A696B,0) AS [Column 0],

    convert(varchar(12),0x49747A696B,1) AS [Column 1],

    convert(varchar(12),0x49747A696B,2) AS [Column 2]

    Column 0 Column 1 Column 2

    ------------ ------------ ------------

    Itzik 0x49747A696B 49747A696B

    Please light me if am wrong.if wrong, then what is rite? could you pls elobrate a bit.

  • kiran.konankal (3/3/2011)


    I have only sql 2008 installed in my desk. i tried executing the select's by changing the compatibility mode to 90 and 100 manually.

    Changing the compatibility level only changes how some T-SQL is parsed and handled, it does not make the current version of SQL Server act exactly like the version you set the compatibility level to.

    So the only way to get the correct answer is to actually run the query on SQL Server 2005.

Viewing 15 posts - 16 through 30 (of 36 total)

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