【问题标题】:How to set the value of a Date field to the current date time in this Oracle DB table?如何在此 Oracle DB 表中将日期字段的值设置为当前日期时间?
【发布时间】:2015-02-02 09:35:21
【问题描述】:

我对 DB 很陌生,在尝试将 Date 字段更新到 Oracle DB 上定义的表时遇到以下问题。

所以在我的数据库中,我有一个名为 CERTIFICAZIONI 的表,其中有一个名为 DATA_VISUALIZZAZIONEDate 字段。

我必须创建一个查询,用当前日期时间更新 DATA_VISUALIZZAZIONE

所以我正在尝试做这样的事情:

UPDATE certificazione SET data_visualizzazione=??? WHERE ID=1

我认为查询的主要结构是正确的,但我不知道如何将当前日期时间设置为该字段。我该怎么做?

Tnx

【问题讨论】:

    标签: sql database oracle sql-update sysdate


    【解决方案1】:

    根据您的需要使用systimestampsysdate,如下所示

    UPDATE certificazione SET data_visualizzazione=systimestamp WHERE ID=1;
    

    UPDATE certificazione SET data_visualizzazione=sysdate WHERE ID=1
    

    将提供有关日期、时间和时区的详细信息。

    【讨论】:

    • 对于DATE 列,最好使用SYSDATE。这避免了隐式强制转换。 DATE 中的时区和小数秒被截断
    • @Wernfried 是的,你是对的。如果您需要更多详细信息,可以使用systimestamp 否则使用sysdate
    【解决方案2】:

    鉴于数据类型DATE,您可以将列设置为SYSDATE值。它将包含日期和时间部分。

    UPDATE certificazione 
    SET    data_visualizzazione = SYSDATE 
    WHERE  id = 1; 
    

    【讨论】:

      猜你喜欢
      • 2012-12-21
      • 1970-01-01
      • 2013-04-15
      • 2016-09-29
      • 1970-01-01
      • 1970-01-01
      • 2014-03-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多