我想拆分一个datetime列,以便年份和月份在select语句输出中都有自己的列。我还希望在一年中的一周中有一个专栏,而不是具体的日期。
基本上,我希望在我的select语句输出中显示单独的year,month和week列。
答案 0 :(得分:10)
尝试使用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
答案 1 :(得分:0)
检查这个
select datepart(Month,DateColumn) Mnth,datename(Month,DateColumn) MnthName,datepart(Year,DateColumn) Year1,((day(DateColumn)-1) / 7) + 1 week from dbo.Table
答案 2 :(得分:0)
这是另一种方式。使用SQL Server YEAR()和MONTH()函数。对于一周,我使用datepart(周,Mydate),如@DMK所述。
SELECT YEAR(MyDate), MONTH(MyDate), DATEPART(WEEK,Mydate) From YourTable