【问题标题】:SQL Server partition function by specific key values not range valuesSQL Server分区函数按特定键值而不是范围值
【发布时间】:2014-05-17 20:44:01
【问题描述】:

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

【问题讨论】:

    标签: sql tsql partitioning partition


    【解决方案1】:

    只要每个范围有一个状态,范围应该可以很好地解决问题。这可以使用LEFT 范围和按字母顺序列出的值来实现。

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

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

    【讨论】:

    • 我没想过按字母顺序排列状态,但这是个好主意!我会试试的!谢谢!
    猜你喜欢
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    • 2013-12-09
    • 2018-09-12
    相关资源
    最近更新 更多