我正在尝试编写一个Access SQL更新查询以重新格式化表中的“ DateTime”列。当前,该列的格式为“常规日期”,格式为“ mm / dd / yy hh:nn:ss AM / PM”,但我想完全删除秒。在更新查询中重新格式化列的语法是什么?
我当时想可能是
UPDATE allPower.DateTime To Format([DateTime], "mm/dd/yy hh:nn AM/PM");
但是存在语法错误。我不确定自己在做什么错。任何帮助或指导,我们将不胜感激。
答案 0 :(得分:2)
您有点出轨了。日期 value 不带有任何格式。格式仅用于显示。
因此,如果您希望不显示几秒钟,请使用以下格式: mm / dd / yy hh:nn AM / PM
如果您希望更新存储的值以使其没有秒,则不要使用字符串处理,而要调整值,例如:
UPDATE
allPower
SET
[DateTime] = DateValue([DateTime]) + TimeSerial(Hour([DateTime]), Minute([DateTime]), 0)
答案 1 :(得分:0)
这是正确的语法:
UPDATE allPower
SET DateTime = Format([DateTime], "mm/dd/yy hh:nn AM/PM")
但是您不应该在数据库中执行此操作,因为数据库仅用于数据存储。如果您想格式化数据,则可以在客户端进行。