如何显示日期中的一天

时间:2010-12-20 18:18:35

标签: sql sql-server sql-server-2005 tsql date-formatting

使用SQL Server 2005

表1

Date

19-12-2009
20-12-2010
.....

Date Column数据类型为DATETIME

预期产出

Monday
Tuesday

如何进行查询以获得一天...

5 个答案:

答案 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');

它打印星期一出生的人显示他们的名字