If I do a select GetDate()
today (October 9, 2017) against a SQL Server 2008 instance the function will return 10/10/2017
i.e. tomorrow's date.
However a select convert(date, getDate())
will return 9/10/2017
. I don't understand why.
Possibly related: the Microsoft documentation says
Returns the current database system timestamp as a datetime value without the database time zone offset. This value is derived from the operating system of the computer on which the instance of SQL Server is running.
What exactly does without the database time zone offset
mean? My SQL Server is currently in GMT+11.