【问题标题】:Difference between year 2018 and date 2018-01-012018 年与日期 2018-01-01 之间的差异
【发布时间】:2019-04-09 09:15:45
【问题描述】:

我有一个负责存储日期的表。我希望能够在那里输入代表月份(一月)的 2018-01-01,并且我想在那里存储代表年份的 2018。这可能吗?

【问题讨论】:

  • 2018-01-01 是 2018 年 1 月 1 日,而不是 2018 年 1 月或 1 月。 January 2018 是日期范围,而不是日期。 2018 年也是如此。你到底想做什么?现在的问题没有多大意义。
  • 处理日期范围的典型方法是使用日历表,即一个表,其中每个日期包含一行,例如未来 50 年,另外还有月、年、周数列, 财政期间等。这使得查询这些期间很多更容易。但是,如果您想将日期范围存储在表格中,则包含开始日期和结束日期的两个日期字段可能是最简单的方法。
  • 所以你想要一个包含三个可空列的表,即YearMonthDay?你想解决什么问题?

标签: c# sql-server


【解决方案1】:

您必须为存储年份的日期列使用整数数据类型。

 insert into #tbltest1 values(datepart(year, getdate() )) 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    • 2019-01-07
    • 1970-01-01
    相关资源
    最近更新 更多