使用SQL Server 2005
表1
Date
19-12-2009
20-12-2010
.....
Date Column数据类型为DATETIME
。
预期产出
Monday
Tuesday
如何进行查询以获得一天...
答案 0 :(得分:18)
您可以使用DATENAME
功能。
SELECT DATENAME(WEEKDAY,[Date])
FROM Table1
答案 1 :(得分:10)
正如@Lamak建议的那样,如果您使用的是SQL Server 2005或更高版本,则可以使用DATENAME function:
SELECT DATENAME(dw, DateField) FROM Table
在早期版本中,您可以获得的最接近的是DATEPART function并以dw
作为间隔,但您需要一个CASE来将返回的数字转换为日期名称as seen here。
SELECT CASE DATEPART(dw, DateField)
WHEN 1 THEN 'Sunday'
WHEN 2 THEN 'Monday'
WHEN 3 THEN 'Tuesday'
WHEN 4 THEN 'Wednesday'
WHEN 5 THEN 'Thursday'
WHEN 6 THEN 'Friday'
WHEN 7 THEN 'Saturday'
END AS DayOfWeek
FROM Table
另请注意有关这些日期函数的MSDN文档的注释,以获取有关指定将哪一天视为第一天日的信息(取决于SQL的DATEFORMAT
设置环境)。
答案 2 :(得分:1)
以下是DateName的参考资料,可以帮助您
http://msdn.microsoft.com/en-us/library/ms174395.aspx
如果你想要一个像星期日= 1,星期六= 7的数字参考,那么使用DatePart
http://msdn.microsoft.com/en-us/library/ms174420.aspx
这就是你想要的
DateName(dw, [Date])
答案 3 :(得分:0)
我建议在获得工作日之前设置语言
SET LANGUAGE 'Italian'
SELECT DATENAME(WEEKDAY,GETDATE())
答案 4 :(得分:0)
select name from table where weekday(column_name = 'monday');
它打印星期一出生的人显示他们的名字