我上网后看到2011年11月3日是星期四,2011年11月4日是星期五。我使用了函数
SELECT datename (dw, 04-11-2011)
在我的服务器上,它表示周六而不是周五。如何将其设置为正确显示?或者我错过了什么?
修改: 谢谢大家的投入。但是,大多数人都指出了我使用的格式,而不是它没有正确设置的事实。有人发布了这个链接(并认为删除了他的评论):https://msdn.microsoft.com/en-us/library/ms181598.aspx。
所以,我使用了set datefirst 1
并且在11月4日使用了select datename(dw, '2011-11-04')
答案 0 :(得分:8)
使用ISO标准日期格式,以便了解您的日期。之一:
select datename(dw, '2011-04-11')
或
select datename(dw, '2011-11-04')
(或者,因为上述格式 受制于一个可能被误解的国际化设置,您可以省略连字符,使它们明确地以YYYYMMDD格式显示。)
另外,将日期常量括在单引号中。
答案 1 :(得分:1)
1使用单个双倍日期值
2在SQL Server中使用明确的日期格式YYYYMMDD或YYYY-MM-DDTHH:MM:SS
select datename(weekday, '20110411') as day_name