The master database’s syslanguages table has a DateFirst column that defines the first day of the week for a particular language. SQL Server with US English as default language, SQL Server sets DATEFIRST to 7 (Sunday) by default. We can reset any day as first day of the week using
SET DATEFIRST 5
This will set Friday as first day of week.
@@DATEFIRST returns the current value, for the session, of SET DATEFIRST.
SET LANGUAGE italian
GO
SELECT @@DATEFIRST
GO
----This will return result as 1(Monday)
SET LANGUAGE us_english
GO
SELECT @@DATEFIRST
GO
----This will return result as 7(Sunday)
In this way @@DATEFIRST and SET DATEFIRST are related. When I learned about this feature I was very glad as our company has started to server global clients and simple feature like this helps a lot to avoid confusion.
Reference : Pinal Dave (https://blog.sqlauthority.com)
4 Comments. Leave new
Hi Pinal
I am trying to set DATEFIRST globally for a given database. Is there a way to do this? Thanks for your time
Pavan
Hi Pinal,
I am trying to set DATEFIRST globally for a given database. Is there a way to do this?
Thanks.
Hi Pinal,
I am trying to set DATEFIRST globally for a given database. Is there a way to do this?
Thanks.
I dont think it is possible. It only affects the current session