在书中,Ben-Gan,Itzik。 T-SQL Fundamentals,有以下声明。
格式'YYYY-MM-DD'和'YYYY-MM-DD hh:mm ...'依赖于语言 当转换为DATETIME或SMALLDATETIME并且语言中立时 转换为DATE,DATETIME2和DATETIMEOFFSET。
据我所知,在指定日期和时间文字时,sql server可以根据语言设置不同地解释相同的文字。
但是,我无法清楚地理解上述陈述。它究竟意味着什么?
答案 0 :(得分:1)
From this answer:SQL Server 2008 datetime2和date中的新数据类型不依赖于SET LANGUAGE或SET DATEFORMAT。
某些欧洲语言区域有' YYYY-DD-MM'但是datetime2和date始终使用' YYYY-MM-DD'。请参阅connect article。
E.g:
Set dateformat dmy;
Select cast ('2012-02-01' as datetime) [DateTime], cast ('2012-02-01' as datetime2) [DateTime2],
cast ('2012-02-01' as date) [Date];
结果:
DateTime DateTime2 Date
2012-01-02 00:00:00.000 2012-02-01 00:00:00.0000000 2012-02-01