Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在日期列中使用自动递增日期更新表_Sql_Sql Server_Sql Server 2005 - Fatal编程技术网

Sql 在日期列中使用自动递增日期更新表

Sql 在日期列中使用自动递增日期更新表,sql,sql-server,sql-server-2005,Sql,Sql Server,Sql Server 2005,我想更新Sql server 2005中日期列中具有自动递增日期的表。若要标记新插入的行,可以将标识列与计算字段组合。例如: declare @t table ( dayNumber int identity, Date as dateadd(day, dayNumber-1, '1970-01-01') ) insert into @t default values insert into @t default values insert into @t defaul

我想更新Sql server 2005中日期列中具有自动递增日期的表。

若要标记新插入的行,可以将
标识
列与计算字段组合。例如:

declare @t table 
(
     dayNumber int identity, 
     Date as dateadd(day, dayNumber-1, '1970-01-01')
)

insert into @t default values
insert into @t default values
insert into @t default values

select * from @t
这张照片是:

dayNumber  Date
1          1970-01-01 00:00:00.000
2          1970-01-02 00:00:00.000
3          1970-01-03 00:00:00.000
id  name     DateColumn
1   Maggie   1970-01-01 00:00:00.000
2   Tom      1970-01-02 00:00:00.000
3   Phillip  1970-01-03 00:00:00.000
4   Stephen  1970-01-04 00:00:00.000

要使用增加的日期更新现有表中的列,请使用
行号
,如:

declare @t2 table (id int identity, name varchar(50), DateColumn datetime)

insert @t2 (name) values ('Maggie'), ('Tom'), ('Phillip'), ('Stephen')

update  t2 
set     DateColumn = DATEADD(day, rn-1, '1970-01-01')
from    @t2 t2
join    (
        select  ROW_NUMBER() over (order by id) rn
        ,       id
        from    @t2 
        ) t2_numbered
on      t2_numbered.id = t2.id

select * from @t2
这张照片是:

dayNumber  Date
1          1970-01-01 00:00:00.000
2          1970-01-02 00:00:00.000
3          1970-01-03 00:00:00.000
id  name     DateColumn
1   Maggie   1970-01-01 00:00:00.000
2   Tom      1970-01-02 00:00:00.000
3   Phillip  1970-01-03 00:00:00.000
4   Stephen  1970-01-04 00:00:00.000