Sql server 更改表以仅从现有数据获取日期名称

Sql server 更改表以仅从现有数据获取日期名称,sql-server,tsql,Sql Server,Tsql,我有一个带有datetime冒号的表,从中我只需要提取一天的名称,然后添加到一个新的列中,比如dayNameOnly,然后作为默认值添加到该列中 我已经做了同样的事情来获得DATEONLY,但是我不能让它与datename或datepart一起工作 ALTER TABLE someTable ADD dayNameOnly As CAST(DATEADD(DAY, DATADIFF(DAY, 0, someDateColounm), 0) as DATE) 您想要字符串形式的工作日名称 A

我有一个带有datetime冒号的表,从中我只需要提取一天的名称,然后添加到一个新的列中,比如dayNameOnly,然后作为默认值添加到该列中

我已经做了同样的事情来获得DATEONLY,但是我不能让它与datename或datepart一起工作

ALTER TABLE someTable 
ADD dayNameOnly 
As CAST(DATEADD(DAY, DATADIFF(DAY, 0, someDateColounm), 0) as DATE)

您想要字符串形式的工作日名称

ALTER TABLE someTable 
ADD dayNameOnly 
As datename(weekday, someDateColounm)
在显示的查询中,不需要执行
dateadd/datediff
计算
CAST(dateadd(DAY,DATADIFF(DAY,0,someDateColounm),0)作为日期)
。您可以简单地
cast()或convert()
将其转换为
date

CAST(someDateColounm as DATE)

您想要字符串形式的工作日名称

ALTER TABLE someTable 
ADD dayNameOnly 
As datename(weekday, someDateColounm)
在显示的查询中,不需要执行
dateadd/datediff
计算
CAST(dateadd(DAY,DATADIFF(DAY,0,someDateColounm),0)作为日期)
。您可以简单地
cast()或convert()
将其转换为
date

CAST(someDateColounm as DATE)

如果您试图添加计算列
somedatecolumn
。这是剧本

alter table someTable 
add dayNameOnly 
As cast(dateadd(day, datediff(day, 0, someDateColounm), 0) as date)
或,如果要将
工作日
名称提取为计算列

alter table someTable 
add dayNameOnly
as datename(dw, someDateColounm)

如果您试图添加计算列
somedatecolumn
。这是剧本

alter table someTable 
add dayNameOnly 
As cast(dateadd(day, datediff(day, 0, someDateColounm), 0) as date)
或,如果要将
工作日
名称提取为计算列

alter table someTable 
add dayNameOnly
as datename(dw, someDateColounm)