【问题标题】:splitting a datetime column into year, month and week将日期时间列拆分为年、月和周
【发布时间】:2014-01-08 21:14:07
【问题描述】:

我想拆分一个日期时间列,以便年份和月份在选择语句输出中都有自己的列。我还想在一年中按周列,而不是具体日期。

基本上,我希望在我的选择语句输出中显示单独的年、月和周列。

【问题讨论】:

标签: sql sql-server sql-server-2008


【解决方案1】:

尝试使用DatePart函数,如下所示:

select
  datepart(year,Mydate), 
  datepart(month,Mydate),
  datepart(week,Mydate)
From
  MyTable

注意:如果您需要按照ISO 8601 标准计算周数,那么您需要使用datepart(iso_week,Mydate)

你也可以看看DateName函数

select
  datename(month,Mydate)
From
  MyTable

【讨论】:

    【解决方案2】:

    这是另一种方式。使用 SQL Server 的 YEAR() 和 MONTH() 函数。对于周,我使用@DMK 指出的 datepart(week,Mydate)。

    SELECT YEAR(MyDate), MONTH(MyDate), DATEPART(WEEK,Mydate) From YourTable
    

    【讨论】:

      【解决方案3】:

      检查一下

      select datepart(Month,DateColumn) Mnth,datename(Month,DateColumn) MnthName,datepart(Year,DateColumn) Year1,((day(DateColumn)-1) / 7) + 1 week from dbo.Table
      

      【讨论】:

        猜你喜欢
        • 2019-02-20
        • 2021-05-07
        • 2011-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-20
        • 1970-01-01
        • 2021-12-17
        相关资源
        最近更新 更多