【问题标题】:SQL Server Table Partition Data TypeSQL Server 表分区数据类型
【发布时间】:2018-04-11 20:16:16
【问题描述】:

我有一个包含超过 7000 万行的表,我想使用日期/时间列对其进行分区,但是日期/时间列具有 varchar 数据类型而不是日期。

动态转换数据类型以将列用作分区范围的最佳方法是什么?

谢谢

【问题讨论】:

  • 使用正确的列类型和分区创建一个新表。插入到新表中。
  • @GordonLinoff ,感谢您的推广响应。无法将数据移动到新表,因为这是应用程序数据库,并且格式是特定于供应商的,我无法修改。我希望是否有任何方法可以在分区过程中动态 CAST 或 CONVERT 将数据类型转换为日期/时间。
  • 嗯...您想按日期进行分区,但您没有日期。您有不是日期的 varchar 数据。

标签: sql-server sql-server-2012 partitioning sqldatatypes partition


【解决方案1】:

我建议您添加一个新的 PERSISTED COMPUTED 列,然后在计算字段上创建分区。 计算列应该是日期类型,它只是您的 varchar 列的转换。

我以前做过这个实验,效果很好。

【讨论】:

    猜你喜欢
    • 2010-12-10
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多