我有一个带有日期时间列的表,我只需要从中提取当天的名称,然后添加到像 dayNameOnly 这样的新列中,然后作为默认值添加到该列中。
我已经做了同样的事情来获得像这样的 DATEONLY,但我无法让它与 datename 或 datepart 一起使用。
ALTER TABLE someTable
ADD dayNameOnly
As CAST(DATEADD(DAY, DATADIFF(DAY, 0, someDateColounm), 0) as DATE)
我有一个带有日期时间列的表,我只需要从中提取当天的名称,然后添加到像 dayNameOnly 这样的新列中,然后作为默认值添加到该列中。
我已经做了同样的事情来获得像这样的 DATEONLY,但我无法让它与 datename 或 datepart 一起使用。
ALTER TABLE someTable
ADD dayNameOnly
As CAST(DATEADD(DAY, DATADIFF(DAY, 0, someDateColounm), 0) as DATE)
如果您尝试添加计算列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)
您想要字符串中的工作日名称吗?
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)
create table #mytbl
(mydate as DATENAME(WEEKDAY,getdate()),sno int)
insert into #mytbl(sno)
values (1)
select * from #mytbl