我正在使用mysql server 5.X
update ACA_CHECK_HISTORY set Datecolumn=CONVERT(VARCHAR(15),getdate(),103);
我收到语法错误。
答案 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。