0

我有一个带有日期时间列的表,我只需要从中提取当天的名称,然后添加到像 dayNameOnly 这样的新列中,然后作为默认值添加到该列中。

我已经做了同样的事情来获得像这样的 DATEONLY,但我无法让它与 datename 或 datepart 一起使用。

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

3 回答 3

1

如果您尝试添加计算列somedatecolumn。这是脚本。

alter table someTable 
add dayNameOnly 
As cast(dateadd(day, datediff(day, 0, someDateColounm), 0) as date)

或者,如果要将weekday名称提取为计算列。

alter table someTable 
add dayNameOnly
as datename(dw, someDateColounm)
于 2019-12-11T05:36:49.077 回答
1

您想要字符串中的工作日名称吗?

ALTER TABLE someTable 
ADD dayNameOnly 
As datename(weekday, someDateColounm)

在您显示的查询中,您不需要执行dateadd/datediff计算CAST(DATEADD(DAY, DATADIFF(DAY, 0, someDateColounm), 0) as DATE)。你可以简单cast() or convert()date

CAST(someDateColounm as DATE)
于 2019-12-11T05:35:16.737 回答
0
create table #mytbl
(mydate  as DATENAME(WEEKDAY,getdate()),sno int)


insert into #mytbl(sno)
values (1)

select * from #mytbl
于 2019-12-11T06:13:42.213 回答