如何将基于日期的表拆分为现有表中的两个表

时间:2014-07-07 17:10:04

标签: sql sql-server

我有一张包含2008年至2014年记录的表格。现在我想将它们分为历史和当前(最近3年,包括2014年)。

我尝试了这两个查询:

SELECT DISTINCT * 
INTO   DESTINATION_TABLE 
FROM   SOURCE_TABLE 
WHERE  DATE LIKE '%2011%' 

此查询正常,但destination_table未在相关数据库中显示,我处理的另一个查询是:

CREATE TABLE DESTINATION_TABLE AS 
  (SELECT DISTINCT * 
   FROM   SOURCE_TABLE 
   WHERE  DATE LIKE '%2011%') 

以上查询显示"为"

时的错误

所以我需要适当的查询。

2 个答案:

答案 0 :(得分:1)

对于第二个陈述,请使用:

SELECT TOP 0 * 
INTO   DESTINATION_TABLE 
FROM   [DBName].[dbo].SOURCE_TABLE 
WHERE  DATE LIKE '%2011%' 

如果您的SQL Server版本支持。

还想知道您是否正在尝试在远程数据库中创建一个更复杂的表。

答案 1 :(得分:0)

试试这个

SELECT DISTINCT *
INTO   Destination_table 
FROM   Source_table
WHERE  YEAR(date) = '2011'