【发布时间】:2010-12-14 16:24:03
【问题描述】:
如何在 SQL 中获取星期几(ddd 格式,例如周一、周二等)? 我在 CAST 和 CONVERT 文档中没有看到任何关于它的内容..
【问题讨论】:
标签: sql sql-server formatting date
如何在 SQL 中获取星期几(ddd 格式,例如周一、周二等)? 我在 CAST 和 CONVERT 文档中没有看到任何关于它的内容..
【问题讨论】:
标签: sql sql-server formatting date
试试这个
SELECT DATEPART(DW, '1/1/2009')
在此处阅读 DATEPART
【讨论】:
方法很多,这里有一种方法:
SELECT LEFT(DATENAME(dw, GETDATE()), 3)
【讨论】:
你不能开箱即用,但你可以做一整天
例如
select datename(weekday,getdate())
返回“星期一”,您可以只取前 3 个字母。
【讨论】:
我会使用SELECT CONVERT(CHAR(3),DATENAME(weekday,GETDATE()))
为了避免在 SQL 中使用另一个函数,转换为 CHAR(3) 隐式采用前 3 个字符。
乔纳森
【讨论】:
对于 SQL Server 2012+:
SELECT FORMAT(GETUTCDATE(),'ddd') AS ShortDayName
这比子字符串解决方案要干净得多。 FORMAT() 函数也可以传递一种区域性格式的文化。
请注意,这适用于其他日期部分,例如月份:
SELECT FORMAT(GETUTCDATE(),'MMM') AS ShortMonthName
【讨论】: