使用 SQL Server 2005
表格1
Date
19-12-2009
20-12-2010
.....
日期列数据类型为DATETIME
.
预期产出
Monday
Tuesday
如何查询获取日期...
使用 SQL Server 2005
表格1
Date
19-12-2009
20-12-2010
.....
日期列数据类型为DATETIME
.
预期产出
Monday
Tuesday
如何查询获取日期...
您可以使用该DATENAME
功能。
SELECT DATENAME(WEEKDAY,[Date])
FROM Table1
正如@Lamak 建议的那样,如果您使用的是 SQL Server 2005 或更高版本,则可以使用 DATENAME函数:
SELECT DATENAME(dw, DateField) FROM Table
在早期版本中,您可以获得的最接近的日期是DATEPART 函数,其dw
作为间隔,但您需要一个 CASE 将返回的数字转换为日期名称,如此处所示。
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 文档中有关这些日期函数的注释,以获取有关指定将一周中的哪一天视为第一天的信息(取决于DATEFORMAT
您的 SQL 环境的设置)。
这是DateName的参考,它将为您提供帮助
http://msdn.microsoft.com/en-us/library/ms174395.aspx
如果您想要一个数字参考,例如 Sunday = 1、Saturday = 7,请使用DatePart
http://msdn.microsoft.com/en-us/library/ms174420.aspx
这就是你想要的
DateName(dw, [Date])
我想建议在获得工作日之前设置语言
SET LANGUAGE 'Italian'
SELECT DATENAME(WEEKDAY,GETDATE())
select name from table where weekday(column_name = 'monday');
它打印出星期一出生的人,并显示他们的名字