在Access数据库的SQL查询中检测周末

时间:2014-06-30 19:54:09

标签: sql database ms-access

我有一个MS Access数据库,其中表的记录有一个 text 字段,该字段以29-Mar-14(作为文本)的形式存储日期。我知道,这不是一个好的数据库设计,但这是我的客户数据库系统最初开发的方式,我不能修改它。

我的问题是:如何在此表上运行SQL Update命令,仅应用于周末记录?所以基本上我需要帮助2点:

  • 关于如何编写SQL语句以便将“29-Mar-14”的文本字段视为日期,

  • 关于如何编写SQL Update语句,以便它检测哪些日期是周末。

谢谢!

1 个答案:

答案 0 :(得分:0)

这里的挑战是Access中的CDate()函数将'29 -Mar-14'解释为2029-03-14。所以,你需要交换日期和年份

CDate(Right(delivery_date,2) & "-" & Mid(delivery_date,4,3) & "-" & Left(delivery_Date,2))

以上将为您提供真实的日期值。要确定它是否是周末日期,请将该日期值传递给Weekday()函数,看看它是否返回1(vbSunday)或7(vbSaturday)。