sql server 2005 T-SQL $PARTITION (Transact-SQL)

news/2024/7/5 23:47:37 标签: 数据库

为任何指定的分区函数返回分区号,一组分区列值将映射到该分区号中。

 Transact-SQL 语法约定

[ database_name. ] $PARTITION.partition_function_name(expression)

database_name

包含分区函数的数据库的名称。

partition_function_name

对其应用一组分区列值的任何现有分区函数的名称。

expression

其数据类型必须匹配或可隐式转换为其对应分区列数据类型的表达式。expression 也可以是当前参与 partition_function_name 的分区列的名称。

int

$PARTITION 返回从 1 到分区函数的分区数之间的 int 值。

$PARTITION 将针对任何有效值返回分区号,无论此值当前是否存在于使用分区函数的分区表或索引中。

A. 获得一组一组分区列值的分区号

以下示例将创建一个将表或索引划分为四个分区的分区函数 RangePF1。$PARTITION 用于确定将表示 RangePF1 的分区列的值 10 置于表的第 1 分区。

复制代码
USE AdventureWorks ;
GO
CREATE PARTITION FUNCTION RangePF1 ( int )
AS RANGE FOR VALUES (10, 100, 1000) ;
GO
SELECT $PARTITION.RangePF1 (10) ;
GO

B. 获取分区表或索引的每个非空分区的行数

以下示例将返回包含数据的表 TransactionHistory 的每个分区的行数。TransactionHistory 表使用分区函数 TransactionRangePF1,并在 TransactionDate 列上进行分区。

注意:
若要执行此示例,必须首先对 AdventureWorks 示例数据库运行 PartitionAW.sql 脚本。有关详细信息,请参阅 Readme_PartitioningScript。
复制代码
USE AdventureWorks ;
GO
SELECT $PARTITION.TransactionRangePF1(TransactionDate) AS Partition,
COUNT(*) AS [COUNT] FROM Production.TransactionHistory
GROUP BY $PARTITION.TransactionRangePF1(TransactionDate)
ORDER BY Partition ;
GO

C. 返回分区表或索引的一个分区的所有行

以下示例将返回表 TransactionHistory5 分区的所有行。

注意:
若要执行此示例,必须首先对 AdventureWorks 示例数据库运行 PartitionAW.sql 脚本。有关详细信息,请参阅 Readme_PartitioningScript。
复制代码
SELECT * FROM Production.TransactionHistory
WHERE $PARTITION.Transact
 

http://www.niftyadmin.cn/n/972031.html

相关文章

Scala005-DataFrame中使用UDF

在处理spark.DataFrame时,经常会用到udf,简单做些总结和笔记。 构造数据 import org.apache.spark.sql.functions._ import spark.implicits._ import org.apache.spark.ml.feature.VectorAssembler import org.apache.spark.ml.linalg.{Vector, Vecto…

关闭端口

每一项服务都对应相应的端口,比如众如周知的WWW服务的端口是80,smtp是25,ftp是21,win2000安装中默认的都是这些服务开启的。对于个人用户来说确实没有必要,关掉端口也就是关闭无用的服务。 “控制面板”的“管理工具”…

PyPackage02---Numpy01_flatten用法

Intro 对于numpy中的多维数组,需要将其转换成1维。此时可以用flatten方法。 相关环境和package信息: import sys import pandas as pd import numpy as np print("Python版本:",sys.version) print("numpy版本:&…

一个悲伤的故事

昨天她和我说她和她男友分了,我说不挺好的麽,你都准备回武汉了,她说他家为了多分一套房子逼婚,仅仅只是想让两个人拿证,没谈操办婚事之类的事情,也没过问她家的意见,结果就是两人分了&#xff0…

全局修改数据库字段类型

createPROCp_typeTotypetypetinyint0, --修改方式,0仅查询可修改情况,1仅所有列可修改时才修改,2修改可修改列,报告不可修改列typefromnvarchar(50),typetonvarchar(50)ASSETNOCOUNT ON--查询非unicode列转换为unicode列的可行性SELECTTableNameo.name,…

PythonNote025---conda创建python虚拟环境

Intro 有些情况下,需要用到特殊版本的package,我们可以通过创建虚拟环境的方式定制一个版本供某一个项目使用,保证环境的相对独立性。另一方面,如果我们在集群上执行python任务,虚拟环境的方式可以避免在所有节点都安装…

PysparkNote101---DataFrame行转列

sql里经常会遇到行转列or列转行,如果数据框为{“A”,[1,2])},需要行转列为{(“A”,1),(“B”,2)}。话不多说,直接看代码。 import pyspark.sql.functions as F from pyspark.sql import SparkSession # 创建SparkSession对象,调用…

Docker(一):入门教程

2013年发布至今, Docker 一直广受瞩目,被认为可能会改变软件行业。 但是,许多人并不清楚 Docker 到底是什么,要解决什么问题,好处又在哪里?本文就来详细解释,帮助大家理解它,还带有简…