sql server – SQL – The conversion of a varchar data type to a datetime data type resulted in an out-of-range value

sql server – SQL – The conversion of a varchar data type to a datetime data type resulted in an out-of-range value

I have faced the same problem a week ago.
The problem is with the time zone setting. Specify in other formats like mm/dd/yyyy (usually works).

Specifying the date as 30/12/2013 resulted in the error for me. However, specifying it as mm/dd/yyyy format worked.

If you need to convert your input the you can try looking into the CONVERT method.
Syntax is

CONVERT(VARCHAR,@your_date_Value,103)

CONVERT(VARCHAR, 12/30/2013, 103)

The finishing 103 is the datetime format.

Refer this link for conversion formats and further reading.
https://www.w3schools.com/sql/func_sqlserver_convert.asp

I ran into this issue due to a silly mistake. Make sure the date actually exists!

For example:

September 31, 2015 does not exist.

EXEC dbo.SearchByDateRange @Start = 20150901 , @End = 20150931

So this fails with the message:

Error converting data type varchar to datetime.

To fix it, input a valid date:

EXEC dbo.SearchByDateRange @Start = 20150901 , @End = 20150930

And it executes just fine.

sql server – SQL – The conversion of a varchar data type to a datetime data type resulted in an out-of-range value

I had similar issue recently. Regional settings were properly setup both in app and database server. However, execution of SQL resulted in

The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

The problem was the default language of the db user.

To check or change it in SSMS go to Security -> Logins and right-click the username of the user that runs the queries. Select properties -> general and make sure the default language at the bottom of the dialog is what you expect.

Repeat this for all users that run queries.

Leave a Reply

Your email address will not be published.