Sql 我需要将批量数据拆分为2 DB,作为当前数据和历史数据

Sql 我需要将批量数据拆分为2 DB,作为当前数据和历史数据,sql,Sql,** 这是我到目前为止所做的,但问题是我需要将当前数据添加到历史记录中,每年只需使用INSERT INTO: 请注意,您的原始语法将@j视为一个文字字符串,而不是将其替换为数字年份值。为什么不直接插入SELECT DISTINCT*FROM。。。? ** **if (month(getdate())=01) and (day(getdate())=01) declare @i as datetime declare @j as datetime set @i = getdate() set @

**

这是我到目前为止所做的,但问题是我需要将当前数据添加到历史记录中,每年只需使用INSERT INTO:

请注意,您的原始语法将@j视为一个文字字符串,而不是将其替换为数字年份值。

为什么不直接插入SELECT DISTINCT*FROM。。。?
**

**if (month(getdate())=01) and (day(getdate())=01)
declare @i as datetime
declare @j as datetime
set @i = getdate()
set @j=select year(@i)-3
---set @j=@i
---set @i
select '@j'+''+'dec'+''+'31'
select distinct * into <destination> from <source> where <datecolumn><= '@j'+'-'+'dec'+'-'+'31'**
INSERT INTO <destination> 
SELECT DISTINCT * 
FROM <source> 
WHERE <datecolumn> <= @j + '-dec-31'