SQL Server ->> 生成时间类型的Partition Function和Partition Scheme代码

有时工作中要建个分区函数,可是像日期这种分区函数要是搞个几百个的值那不是要搞死我。于是写了点代码自动生成一个从1990年开始的按月的分区函数和对应的分区主题

USE [TestDB]
GO

DECLARE @STR NVARCHAR(MAX)
SET @STR = ‘CREATE PARTITION FUNCTION [PF_RangeByMonth_FromYear1990](DATETIME) AS
            RANGE LEFT FOR VALUES (‘

DECLARE @STR2 NVARCHAR(MAX)
SET @STR2 = ‘CREATE PARTITION SCHEME [PS_RangeByMonth_FromYear1990] AS PARTITION [PF_RangeByMonth_FromYear1990] TO (‘

--generate corresponding partition function script
SELECT @STR + STUFF((SELECT ‘‘‘,‘‘‘ + CONVERT(VARCHAR, DATEADD(MONTH,ID-1,‘1990-01-01‘), 121)
        FROM [dbo].[Numbers]
        WHERE ID <= DATEDIFF(MONTH,‘1990-01-01‘,‘2040-01-01‘)+1
        ORDER BY [ID]
        FOR XML PATH(‘‘), TYPE).value(‘.‘, ‘varchar(max)‘)
,1,2,‘‘) + ‘‘‘)‘ + CHAR(13) as ‘partition function script‘

--generate corresponding partition scheme script
SELECT @STR2 + STUFF((SELECT +‘, [PRIMARY]‘
        FROM [dbo].[Numbers]
        WHERE ID <= DATEDIFF(MONTH,‘1990-01-01‘,‘2040-01-01‘)+2
        FOR XML PATH(‘‘), TYPE).value(‘.‘, ‘varchar(max)‘)
,1,2,‘‘) + ‘)‘ + CHAR(13) as ‘partition scheme script‘
时间: 2024-12-17 18:52:28

SQL Server ->> 生成时间类型的Partition Function和Partition Scheme代码的相关文章

.SQL Server中 image类型数据的比较

原文:.SQL Server中 image类型数据的比较 在SQL Server中如果你对text.ntext或者image数据类型的数据进行比较.将会提示:不能比较或排序 text.ntext 和 image 数据类型,除非使用 IS NULL 或 LIKE 运算符.不过image也是不支持like比较的.那怎么样对数据库中的图片做比较呢.对于这种大型对象的处理,在Oracle中有有专门的函数DBMS_LOB.COMPARE,而SQLSERVER中没有专门的处理函数,只能通过使用substri

sql server日期时间转字符串

转自:http://www.cnblogs.com/zhangq723/archive/2011/02/16/1956152.html 一.sql server日期时间函数Sql Server中的日期与时间函数 1.  当前系统日期.时间     select getdate()  2. dateadd  在向指定日期加上一段时间的基础上,返回新的 datetime 值   例如:向日期加上2天    select dateadd(day,2,'2004-10-15')  --返回:2004-1

MS SQL Server带有时间的记录怎样查询

原文:MS SQL Server带有时间的记录怎样查询 比如某一张表[A]有一个保存日期包含时间字段[B],如果以这个段[B]作查询条件对数据记录进行查询.也我们得花些心思才能查询到我们想得到的记录. 现在我们需要查询这天2014-06-21的所有记录: SELECT * FROM [A] WHERE [B] = '2014-06-21' 上面的语法,将查询不到任何记录.也许会有网友想到使用BETWEEN: SELECT * FROM [A] WHERE [B] BETWEEN '2014-06

SQL Server 日期时间转字符串

一.sql server日期时间函数 Sql Server中的日期与时间函数 1.  当前系统日期.时间     select getdate() 2. dateadd  在向指定日期加上一段时间的基础上,返回新的 datetime 值    例如:向日期加上2天    select dateadd(day,2,'2004-10-15')  --返回:2004-10-17 00:00:00.000 3. datediff 返回跨两个指定日期的日期和时间边界数.    select datedif

partition function 和 partition scheme 修改示例

Altering a Partition Function: SPLIT and MERGE Partition functions are not static: They can change over time, and their changes propagate through the partition scheme to the partitioned table. You can alter a partition function to change the boundary

sql server 各种等待类型-转

等待的类型 资源等待 当某个工作线程请求访问某个不可用的资源(因为该资源正在由其他某个工作线程使用,或者该资源尚不可用)时,便会发生资源等待.资源等待的示例包括锁等待.闩锁等待.网络等待以及磁盘 I/O 等待.锁等待和闩锁等待是指等待同步对象 队列等待 当工作线程空闲,等待分配工作时便会发生队列等待.队列等待通常发生在系统后台任务(如监视死锁以及清除已删除的记录等任务)中.这些任务将等待工作请求被放入工作队列.即使没有新数据包放入队列,队列等待也可能定期处于活动状态. 外部等待 当 SQL Se

SQL Server 系统时间

getdate()函数:取得系统当前的日期和时间.返回值为datetime类型的. 用法:getdate() 例子: select getdate() as dte,dateadd(day,-1,getdate()) as nowdat datepart()函数:以整数的形式返回时间的指定部分. 用法:datepart(datepart,date) 参数说明:datepart时要返回的时间的部分,常用取值year.month.day.hour.minute.second date是所指定的时间.

Sql Server 的服务器类型

Sql Server 提供了四种服务器类型: 如图所示  : 1, 数据库引擎  2, Analysis Services (分析服务 )  3, Reporting  Services (报告服务)  4, Integration  Services (集成服务) 1, 数据库引擎 数据库引擎:  是 Sql Server的核心服务 他是存储和处理表格关系格式的数据或xml文档格式的数据服务.负责完成数据存储,处理,和安全. 2,Analysis Services (分析服务 ) Analys

SQL Server日期时间函数

日期时间函数 1.获取当前日期GetDate getdate()函数以datetime数据类型的格式返回当前SQLServer服务器所在计算机的日期和时间.其语法格式为getdate().返回值舍入到最近的秒小数部分,精度为.333秒数据库十七偏移量不包含在内. 示例: select getdate() --输出 2013-03-09 15:16:00.570 2.GetUTCDate 获取UTC时间值 select GETUTCDATE() -- 2013-06-18 08:02:53.253