Microsoft Access SQL - 在SELECT查询中修改日期格式

时间:2015-09-17 20:42:02

标签: sql ms-access

我刚刚开始学习SQL并将其与Microsoft Access 2013中的数据库一起使用。使用此数据库,我每周导入一次CSV,然后查询选择某些字段。其中一个字段是不规则的时间戳,我必须将其导入为短文本(例如格式:" 2015-07-03T02:47:21 + 00:00和#34;)。

在我的Select查询中,我使用以下代码将时间戳转换为可用的DateTime(并减去7个小时):FORMAT(DATEADD("h", -7, MID(PurchaseDate,1,10) + " " + MID(PurchaseDate,12,8)), "M/D/YY H:MM") AS OrderDate当应用于上面的示例时,返回" 7/2/15 19 :47:21"这正是我想要的。

但是,查询不会将结果识别为日期,也不会让我将它们过滤/排序为日期。有没有办法以日期格式输出此输出,以便我可以按日期和时间排序和筛选?提前谢谢。

2 个答案:

答案 0 :(得分:3)

DATEADD函数应返回有效的日期数据类型。使用FORMAT函数时,您将日期转换为字符串。只是不要使用format函数,表达式应该作为日期数据类型返回:

DATEADD("h", -7, MID(PurchaseDate,1,10) + " " + MID(PurchaseDate,12,8)) AS OrderDate

答案 1 :(得分:0)

尝试使用DateValue函数将日期字符串转换为日期类型。