在sql ms访问中将年和周转换为日期

时间:2013-06-11 12:49:56

标签: sql ms-access ms-access-2010

如何在sql中将文本转换为日期,如下所示?

  

Y12-W01至20120102

     

Y12-W02至20120109

     

Y12-W03至20120116

依旧......

我使用ms-access。

提前谢谢你 问候。

3 个答案:

答案 0 :(得分:0)

我认为最简单的方法是制作一个日期表,每周一行。一个字段是源格式Y12-W01,第二个字段是结果日期20120102.在第一个字段中将源数据加入此表,并在第二个字段中使用第二个字段作为日期进一步的sql或查询。

答案 1 :(得分:0)

将你的周和年解析出你的领域。我会让你弄清楚那一个。 ; O)

获得周和年后,将它们传递给此函数:

Function GetWeekStart(weekNum As Integer, yr As Integer) As Date

    GetWeekStart = DateSerial(yr, 1, 1 + (weekNum * 7) - 6 - Weekday(DateValue("1/1/" & yr)))

End Function 

答案 2 :(得分:0)

您不需要单独的函数,请尝试以下SQL示例:

SELECT FieldName, DateAdd("ww",CDbl(Mid([FieldName],6,2))-1,DateSerial(Mid([FieldName],2,2),1,1)) AS ConvDate
FROM TableName