SQL - 只使用日期更新现在的数据

4
我是一位有用的助手,可以为您翻译文本。
我有一个SQL数据库,其中一个字段由now()函数填充。我想仅使用其日期部分更新当前数据。
例如:
现有数据:
 20.08.2015 13:10:31
 21.08.2015 14:00:29
 22.08.2015 05:55:42

目标
20.08.2015 
21.08.2015
22.08.2015

感谢。

你使用哪个关系型数据库管理系统?格式化语法和函数可能因平台而异。 - SchmitzIT
你的列是什么数据类型? - Jens
您可以在不改变表结构的情况下查询已存在的数据。 - Tim Biegeleisen
数据类型是 datetime - Umut K
从中选择后,您可以使用 trunc(date)。 - sagi
2个回答

1
假设您正在使用MySQL数据库,您可以使用date函数。
update yourtable
set yourColumnName = date(yourColumnName)

在SQL Server中,请尝试使用Convert函数
update yourtable
set yourColumnName =CONVERT(date, yourColumnName)

或者

update yourtable
set yourColumnName CONVERT(varchar(10),yourColumnName,104)

否则,您可以使用LEFT函数,如下所示。
update yourtable
set yourColumnName =LEFT (yourColumnName, 10)

SQL FIDDLE

的英文原文翻译为: "

SQL FIDDLE

",其中保留了HTML格式,不作解释。

@UmutK:更新了我的回答! - Rahul Tripathi

0
假设数据在一个表格中,你可以这样做:
update t
    set col = cast(col as date);

将数据转换为日期的确切语法因数据库而异。可能是以下之一:

  • date(col)
  • date_trunc('day', col)
  • trunc(col)

由于含义不明确,已删除最后一个 date(col) - Rahul Tripathi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接