【问题标题】:Update query to remove seconds from "General Date" field in Access更新查询以从 Access 中的“常规日期”字段中删除秒数
【发布时间】:2019-07-16 17:30:10
【问题描述】:

我正在尝试编写一个 Access SQL 更新查询来重新格式化我的表中的“日期时间”列。目前,该列的“常规日期”格式为“mm/dd/yy hh:nn:ss AM/PM”,但我想完全删除秒。在更新查询中重新格式化列的语法是什么?

我在想可能是这样的

UPDATE allPower.DateTime To Format([DateTime], "mm/dd/yy hh:nn AM/PM");

但是有语法错误。我不确定我做错了什么。非常感谢任何帮助或指导。

【问题讨论】:

  • UPDATE allPower set [DateTime ] = Format([DateTime], "mm/dd/yy hh:nn AM/PM");
  • 我发现我的查询遇到的另一个问题是使用“DateTime”作为字段名称,因为这已经是 Access 中的保留字。
  • 这就是为什么您需要在名称周围加上方括号。

标签: sql database ms-access sql-update


【解决方案1】:

你有点出轨了。日期 没有格式。该格式仅用于显示

因此,如果您希望显示不秒,请使用格式:mm/dd/yy hh:nn AM/PM

如果您希望更新存储的值以不使用秒,切勿使用字符串处理,而是调整值,例如:

UPDATE 
    allPower
SET 
    [DateTime] = DateValue([DateTime]) + TimeSerial(Hour([DateTime]), Minute([DateTime]), 0)

【讨论】:

    【解决方案2】:

    这是正确的语法:

    UPDATE allPower
    SET DateTime = Format([DateTime], "mm/dd/yy hh:nn AM/PM")
    

    但是您不应该在数据库中这样做,数据库仅用于存储数据。如果要格式化数据,可以在客户端执行此操作。

    【讨论】:

      猜你喜欢
      • 2015-12-16
      • 1970-01-01
      • 1970-01-01
      • 2015-01-03
      • 2014-03-03
      • 2017-11-15
      • 2015-10-13
      • 1970-01-01
      相关资源
      最近更新 更多