如何显示日期中的一天

Gop*_*pal 6 sql t-sql sql-server sql-server-2005 date-formatting

使用SQL Server 2005

表格1

Date

19-12-2009
20-12-2010
.....
Run Code Online (Sandbox Code Playgroud)

Date Column数据类型是DATETIME.

预期产出

Monday
Tuesday
Run Code Online (Sandbox Code Playgroud)

如何查询获取当天...

Lam*_*mak 18

你可以使用这个DATENAME功能.

SELECT DATENAME(WEEKDAY,[Date])
FROM Table1
Run Code Online (Sandbox Code Playgroud)


Dan*_*n J 10

正如@Lamak建议的那样,如果您使用的是SQL Server 2005或更高版本,则可以使用DATENAME 函数:

SELECT DATENAME(dw, DateField) FROM Table
Run Code Online (Sandbox Code Playgroud)

在早期版本中,你可以得到最接近的是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
Run Code Online (Sandbox Code Playgroud)

另请注意有关这些日期函数的MSDN文档的注释,以获取有关指定将哪一天视为第一天的信息(取决于DATEFORMATSQL环境的设置).