1

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

Y12-W01 至 20120102

Y12-W02 至 20120109

Y12-W03 至 20120116

等等...

我使用 ms-access。

预先感谢您的问候。

4

3 回答 3

0

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

于 2013-06-11T12:59:47.203 回答
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 
于 2013-06-11T13:54:23.570 回答
0

您不需要单独的函数,试试这个 SQL 示例:

SELECT FieldName, DateAdd("ww",CDbl(Mid([FieldName],6,2))-1,DateSerial(Mid([FieldName],2,2),1,1)) AS ConvDate
FROM TableName
于 2013-06-11T14:50:37.390 回答