如何从 table 中的列中删除“00:00:00”?

How can I strip '00:00:00' from a column in a table?

我最近将我们的应用程序从 MySQL 迁移到 SQLite,但自迁移以来,我在存储时间戳时发现了一些奇怪的东西。

我们使用 MySQL 时添加的时间戳看起来像 2015-01-01 00:00:00 但现在我们使用 SQLite 添加的时间戳看起来像 2015-01-01.

我不需要 00:00:00 所以这不是问题,但是当我们使用 MySQL 时如何从所有现有行中删除它?

目前我们的专栏如下所示:

user_EntryDate
--------------
2015-01-01 00:00:00
2015-01-02 00:00:00
2015-01-03 00:00:00
<switched to SQLite>
2015-01-04
2015-01-05
2015-01-06

在数据库中,您不会剥离值的一部分。相反,您将不需要的值更新为您想要的值。

这将更新每一行。

update your_table_name
set user_EntryDate = date(user_EntryDate);

可以使用 WHERE 子句将更新限制为仅包含时间数据的那些行。它可能不会更快;它不能使用索引。

update your_table_name
set user_EntryDate = date(user_EntryDate)
where user_EntryDate like '%00:00:00';