更新ACA_CHECK_HISTORY设置Datecolumn = CONVERT(VARCHAR(15),getdate(),103)

时间:2015-03-21 21:51:35

标签: java mysql

我正在使用mysql server 5.X

update ACA_CHECK_HISTORY set Datecolumn=CONVERT(VARCHAR(15),getdate(),103);

我收到语法错误。

2 个答案:

答案 0 :(得分:1)

尝试使用MySQL语法而不是SQL Server语法:

update ACA_CHECK_HISTORY
    set CREATED_DATE = date_format(now(), '%Y-%m-%d');

哦,等等,这不是你想要的。它比你想要的更好。

首先,您应该在数据库中以 native 格式存储日期/时间值。如果由于某种原因,您无法执行此操作,请使用ISO标准格式 - 例如YYYY-MM-DD。这适用于排序和比较,这使它非常有用。

将值呈现给用户时,可以将值转换为输出格式。您似乎想要格式'%d/%m/%Y'。这种格式没有错。它只是一种表示格式,不应存储在数据中。

答案 1 :(得分:0)

如果该列是DATE或DATETIME或TIMESTAMP数据类型,那么只需执行

update ACA_CHECK_HISTORY
    set CREATED_DATE = NOW();

更好的是,如果你使用具有合适DEFAULT的TIMESTAMP,你可以完全避免UPDATE。