通过sql查询更新数据库列数据
我有一个要求,即有一个存储日期时间的数据库列,例如24-01-2015 22:31:49。现在,我可以在列中创建许多具有不同值的行 我需要一个查询,将每行的列数据更新为2015年1月24日00:00:00。(基本上将datetime转换为date并保存在同一位置) 我必须在SQL层进行操作,因为在我的应用程序级(Java)中进行操作对于大量记录是不可行的通过sql查询更新数据库列数据,sql,Sql,我有一个要求,即有一个存储日期时间的数据库列,例如24-01-2015 22:31:49。现在,我可以在列中创建许多具有不同值的行 我需要一个查询,将每行的列数据更新为2015年1月24日00:00:00。(基本上将datetime转换为date并保存在同一位置) 我必须在SQL层进行操作,因为在我的应用程序级(Java)中进行操作对于大量记录是不可行的 谢谢您的帮助。解决方案取决于数据库。以下是一些例子: update your_table set datetimeColumn = date(
谢谢您的帮助。解决方案取决于数据库。以下是一些例子:
update your_table
set datetimeColumn = date(datetimeColumn)
MySQL和DB2:
update t
set col = ate(col;
SQL Server 2008+:
update t
set col = cast(col as date);
甲骨文:
update t
set col = trunc(col);
Postgres(和Postgres派生数据库):
Teradata:
update t
set col = trunc(col, 'd');
说明:DATE函数将提取日期时间字符串的日期部分。CONCAT函数将在日期结束时添加00:00:00。您使用什么数据库引擎?
update t
set col = trunc(col, 'd');
UPDATE table_name
SET date_time_col = CONCAT(date(date_time_col), ' 00:00:00')