【发布时间】:2014-05-17 20:44:01
【问题描述】:
我不知道这是否可能,但我们希望在 SQL Server 2008 中创建一个分区函数,它允许我们在状态缩写键列(即'FL'、'AZ'、 .. 等等)。 本质上,我们将有 50 个分区。我知道分区函数的设置方式是通过左值或右值,但这不是我们需要的,所以想知道我们的场景是否可行。谢谢大家。
【问题讨论】:
标签: sql tsql partitioning partition
我不知道这是否可能,但我们希望在 SQL Server 2008 中创建一个分区函数,它允许我们在状态缩写键列(即'FL'、'AZ'、 .. 等等)。 本质上,我们将有 50 个分区。我知道分区函数的设置方式是通过左值或右值,但这不是我们需要的,所以想知道我们的场景是否可行。谢谢大家。
【问题讨论】:
标签: sql tsql partitioning partition
只要每个范围有一个状态,范围应该可以很好地解决问题。这可以使用LEFT 范围和按字母顺序列出的值来实现。
如果需要,您还可以添加检查约束以将值限制为有效的州名称;
CREATE PARTITION FUNCTION bop (CHAR(2)) AS
RANGE LEFT FOR VALUES('AK', 'AL', 'AR', 'AZ', ...)
END;
【讨论】: