对于这个问题看似简单的问题,您好,并且对此表示歉意,但我是一个平庸的程序员,我在这里处理关键数据。在多个条件下的MS Access(OLEDB)更新表
我正在尝试更新表(Image)中的一列(PArchiveStatus),具体取决于每行中是否有某种状态(ParchiveStatus) is ((100 OR 200) AND ((timestamp>'2014-11-14 00:00:00') AND (timestamp<'2016-02-05 00:00:00')))
。 (捕获的时间戳列的名称)之前和之后这两个日期不能触及
我想出了两个变化,无论是其工作的(笑)
什么
在正确的方向稍微推动将高度赞赏。
变化
UPDATE [Image] SET [PArchiveStatus]='0' WHERE [PArchiveStatus] = 100 AND [Captured] BETWEEN '2014-11-14 00:00:00' AND '2016-02-05 00:00:00';
变化
UPDATE [Image] SET [PArchiveStatus]='0' WHERE [PArchiveStatus]=100 AND [Captured]>'2014-11-14 00:00:00';
和朋友也告诉我这个
3.变异UPDATE (SELECT * from Image where PArchiveStatus = 100) SET PArchiveStatus=0 Where Captured BETWEEN '2014-11-14 00:00:00' AND '2016-02-05 00:00:00'
也许我应该提到的是,在表中的日期/时间戳是不以任何其他的“格式”不是一个查询可用的,这意味着它必须被格式化为
YYYY-MM-DD HH:mm:ss
(24小时格式)和我说实话不知道如果我能在一个单行查询中使用这种格式
(其中的方式是解决方案的另一个要求,因为我只能发送一行更新到数据库)
感谢任何善良的人帮助我解决这个问题。
解决方案
UPDATE [Image] SET [PArchiveStatus] = 0 WHERE [PArchiveStatus] = 100 AND [Captured] BETWEEN #2014-11-14# AND #2015-12-31#
存在此数据库中的.mdb文件 我基本上都在一个工具打开.mdb文件,并提交单行查询到它做的快速变化,而不是打开MS Access和编辑内容行按行。 –