SQL Server日期格式 - ddd

时间:2009-11-09 15:42:01

标签: sql sql-server formatting date

如何在SQL中获取星期几(以ddd格式,所以Mon,Tue等)? 我在CAST和CONVERT文档中没有看到任何相关内容。

6 个答案:

答案 0 :(得分:12)

很多方法,这是一种方式:

SELECT LEFT(DATENAME(dw, GETDATE()), 3)

答案 1 :(得分:3)

您可以使用DATENAME方法提取日期,然后使用SUBSTRING仅获取前3个字符。

SELECT SUBSTRING(DATENAME(DW, '09/11/2009'), 1, 3)

答案 2 :(得分:3)

我会用左 SELECT CONVERT(CHAR(3),DATENAME(weekday,GETDATE()))
为了避免在SQL中使用其他函数,转换为CHAR(3)隐式地获取前3个字符。

乔纳森

答案 3 :(得分:1)

试试这个

SELECT DATEPART(DW, '1/1/2009')

在这里阅读DATEPART

http://msdn.microsoft.com/en-us/library/ms174420.aspx

答案 4 :(得分:1)

你不能开箱即用,但你可以做一整天

e.g。

select datename(weekday,getdate())

返回'星期一',你可以只取前3个字母。

答案 5 :(得分:1)

对于SQL Server 2012 +:

SELECT FORMAT(GETUTCDATE(),'ddd') AS ShortDayName

这比子串解决方案更清晰。 FORMAT()函数也可以传递用于区域设置感知格式的文化。

请注意,这适用于其他日期部分,例如月份:

SELECT FORMAT(GETUTCDATE(),'MMM') AS ShortMonthName

FORMAT() Reference