如何在 sql 中将文本转换为日期,如下所示?
Y12-W01 至 20120102
Y12-W02 至 20120109
Y12-W03 至 20120116
等等...
我使用 ms-access。
预先感谢您的问候。
如何在 sql 中将文本转换为日期,如下所示?
Y12-W01 至 20120102
Y12-W02 至 20120109
Y12-W03 至 20120116
等等...
我使用 ms-access。
预先感谢您的问候。
我认为最简单的方法是制作一个日期表,每周一行。一个字段是源格式 Y12-W01,第二个字段是结果日期 20120102。在第一个字段上将源数据连接到该表,并在进一步的 sql 或查询中使用第二个字段作为日期。
将您的周和年从您的领域中解析出来。我会让你弄清楚那个。;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
您不需要单独的函数,试试这个 SQL 示例:
SELECT FieldName, DateAdd("ww",CDbl(Mid([FieldName],6,2))-1,DateSerial(Mid([FieldName],2,2),1,1)) AS ConvDate
FROM TableName