SQL Server分区函数按特定键值而不是范围值

时间:2014-04-05 13:15:37

标签: sql tsql partitioning partition

我不知道这是否可能,但我们希望在SQL Server 2008中创建一个分区功能,允许我们在状态缩写键列上对表进行分区(即' FL&# 39;,' AZ',...等)。 本质上我们将有50个分区。我知道分区函数的设置方式是通过左或右值,但这不是我们需要的,所以想知道我们的场景是否可行。谢谢大家。

1 个答案:

答案 0 :(得分:1)

只要每个范围有一个状态,范围就可以解决问题。这可以使用LEFT范围来实现,其中的值以字母顺序列出。

如果需要,您还可以添加检查约束以将值限制为有效的州名称;

CREATE PARTITION FUNCTION bop (CHAR(2)) AS
  RANGE LEFT FOR VALUES('AK', 'AL', 'AR', 'AZ', ...)
END;