• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

T-SQL IsDate Function and Locale

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    T-SQL IsDate Function and Locale

    I'm trying to determine if a string represents a valid date.

    So, IsDate('01/01/15') returns 1 as expected. IsDate('30/01/15') returns 0 even though it's a valid date.

    I'm guessing the locale of the server is US & that's why IsDate is returning 0.

    Is there a simple fix to this? I can't change locale or anything like that though.....

    #2
    You need to do it in Style.

    Style 3 = dd/mm/yy

    Or, LMGTFY: http://www.sqlservercentral.com/Foru...671-392-1.aspx
    …Maybe we ain’t that young anymore

    Comment


      #3
      Where is the input coming from and is its format known ?

      It will assume the locale as that in the db as far as I am aware unless told otherwise (which probably needs a convert or cast).

      01/02/03 could mean many different things.

      Might help:

      https://msdn.microsoft.com/en-us/library/ms187928.aspx
      SQL Datetime Conversion - String Date Convert Formats - SQLUSA

      Comment


        #4
        SET DATEFORMAT = 'dmy' seems to have fixed it.

        Thanks.

        Comment

        Working...
        X