在 SQL Server 2012 中创建以日期为范围分区的表

Posted

技术标签:

【中文标题】在 SQL Server 2012 中创建以日期为范围分区的表【英文标题】:Creating a table with date as range partition in SQL Server 2012 【发布时间】:2014-04-15 04:04:36 【问题描述】:

我是 SQL Server 编码的新手。请告诉我如何在 SQL Server 中创建具有日期范围分区的表

teradata 中的类似语法如下(创建一个表,将订单日期作为 2012 年的范围分区,每天作为单个分区)

CREATE TABLE ORDER_DATA (   
   ORDER_NUM INTEGER NOT NULL 
   ,CUST_NUM INTEGER 
   ,ORDER_DATE DATE 
   ,ORDER_TOT DECIMAL(10,2) 
) 
PRIMARY INDEX(ORDER_NUM) 
PARTITION BY (RANGE_N ( ORDER_DATE BETWEEN DATE ‘2012-01-01’ AND DATE 2012-12-31 EACH INTERVAL ‘1’ DAY)); 

提前致谢

【问题讨论】:

【参考方案1】:

创建分区表的过程在MSDN上描述如下:

Creating a partitioned table or index typically happens in four parts: 1. Create a filegroup or filegroups and corresponding files that will hold the partitions specified by the partition scheme. 2. Create a partition function that maps the rows of a table or index into partitions based on the values of a specified column. 3. Create a partition scheme that maps the partitions of a partitioned table or index to the new filegroups. 4. Create or modify a table or index and specify the partition scheme as the storage location.

您可以找到代码示例on MSDN。

【讨论】:

嗨,shree,您能否包括我的查询的总语法转换 @user3534342 我不确定这会增加多少价值,因为即使在这个答案中我已经在参考官方文档。

以上是关于在 SQL Server 2012 中创建以日期为范围分区的表的主要内容,如果未能解决你的问题,请参考以下文章

在 Java DOM 中创建以命名空间为前缀的 XML 节点

如何在 SQL Server 中创建具有数十年的日期维度?

在ios中创建以符号'@'开头的单词可点击

如何在 CSS 中创建以特定宽度工作的函数 [关闭]

在 SQL Server 中创建自定义日期范围列表以便于使用

从 VS 2012 在 SQL Server 2012 数据库项目中创建 SQL 代理作业