【问题标题】:is it possible to store m - m / Y formatted datetime with SQL Server是否可以使用 SQL Server 存储 m - m / Y 格式的日期时间
【发布时间】:2014-10-19 16:11:59
【问题描述】:

我需要在 SQL Server 数据库中存储月-月/年格式的数据。 01 - 12 / 2014 表示,例如,2014 年 1 月至 2014 年 12 月。我应该使用 varchar 数据类型还是可以使用 datetime 数据类型?

【问题讨论】:

  • 使用两列并存储开始和结束日期。忽略白天部分,你会很开心。
  • 这实际上是可能的,如果您滥用日期列的日期部分来存储另一个月份。 Disclamer,我永远不会使用这种方法,搜索它,阅读它,评论它会很糟糕。如果您使用此方法,请不要包含我的名字。

标签: sql sql-server datetime sqldatatypes


【解决方案1】:

您不能对 SQL Server 中的单个 date 列执行此操作。我鼓励您将其存储为两个 date 列,例如:BeginDate 和 EndDate。这将是使用原生 SQL 类型一段时间的最佳方式。

如果您有将其存储为varchar(),则将该字段按合理的顺序排列。使用如下格式:'YYYYMM-YYYYMM'。这使得每个组件都可以轻松解析并按第一个值排序。但是,让我重复我的第一个建议:存储时间范围的最佳方法是使用两列,一列用于开始日期,另一列用于结束日期。

【讨论】:

    猜你喜欢
    • 2022-01-20
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 2018-05-25
    相关资源
    最近更新 更多