Sql server 在SQL Server中选择日期(星期一)

Sql server 在SQL Server中选择日期(星期一),sql-server,Sql Server,我有一个带有dd-mm-yy hh:mm:ss tt的字段 我只想选择当天的名称 我尝试了datepart()和day() 两人都给了我1比31的分数 我想要的是星期一、星期二等等 如何做到这一点 SELECT DATEPART(WEEKDAY, GETDATE()) 或 SQL不能直接转换为工作日名称,但您可以这样解决 将DATEFIRST设置为1--从星期一开始 挑选 子字符串('MonTueWedThuFriSatSun',1+ (DATEPART(工作日,[myfield])-1)*3

我有一个带有
dd-mm-yy hh:mm:ss tt的字段

我只想选择当天的名称

我尝试了
datepart()
day()

两人都给了我1比31的分数

我想要的是星期一、星期二等等

如何做到这一点

SELECT DATEPART(WEEKDAY, GETDATE())


SQL不能直接转换为工作日名称,但您可以这样解决

将DATEFIRST设置为1--从星期一开始

挑选 子字符串('MonTueWedThuFriSatSun',1+ (DATEPART(工作日,[myfield])-1)*3)

或者如果你想要长名字

选择子字符串('星期一-星期二 星期三星期四星期五星期六 1月1日星期日+ (DATEPART(工作日,[myfield])-1)*9)


那会给我1到7分,而不是1到7分sun@william
选择DATENAME(工作日,GETDATE())
为我返回星期二。你的语言设置是什么?(或者你说的是
DATEPART
?这对我也不管用)sry。。我是在约会。tkz当上面的
DATENAME
答案似乎正好如此时,您如何证明第一句话的正确性?它不总是有效的吗?如果是,在什么情况下?@martin Oops,和william一样的错误,阅读DATEPART并跳过DATENAME。我的错
SELECT DATENAME(WEEKDAY, GETDATE())