如何在数据库 H2 中更改没有时间的字段日期时间
Posted
技术标签:
【中文标题】如何在数据库 H2 中更改没有时间的字段日期时间【英文标题】:How to change the field datetime without time in database H2 【发布时间】:2019-08-07 14:02:28 【问题描述】:我有一张桌子:
CREATE TABLE `operation` (
`id` bigint(20) NOT NULL,
`start_time` datetime DEFAULT NULL,
`finish_time` datetime NOT NULL
);
对于这个表,你需要插入从finish_time到start_time的值。通过在没有时间的情况下转换一个字段。
例如:“2018-02-02 10:10:10” => “2018-02-02 00:00:00”
我知道如何为 mysql 做到这一点:
update operation
set start_time = DATE_FORMAT(finish_time,'%y-%m-%d')
where start_time is null;
但是H2中没有DATE_FORMAT这个函数。
如何对数据库 H2 执行此查询?
【问题讨论】:
start_time
的数据类型不应该是DATE
而不是DATETIME
吗?
【参考方案1】:
您可以使用CAST()
剥离时间信息。例如:
update operation
set start_time = cast(finish_time as date)
where start_time is null;
【讨论】:
【参考方案2】:您可以尝试使用 FORMATDATETIME()
update operation
set start_time = FORMATDATETIME((finish_time, '%y-%m-%d')
where start_time is null;
【讨论】:
以上是关于如何在数据库 H2 中更改没有时间的字段日期时间的主要内容,如果未能解决你的问题,请参考以下文章