我有一张桌子,其中包括以下栏目:
CREATE TABLE `tweets` (
(...)
`timestamp` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
(...)
)
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;
在此列中,我有两种不同的时间格式:
我正在尝试使用格式化日期创建一个新表:
select
(...)
case
when STR_TO_DATE(t.timestamp, '%Y-%m-%d %H:%i:%s') is null
then STR_TO_DATE(t.timestamp, '%d.%m.%Y %H:%i')
else STR_TO_DATE(t.timestamp, '%Y-%m-%d %H:%i:%s')
end as timestamp,
(...)
from tweets;
选择代码工作正常,到目前为止我学到了在mySQL中我不能改变日期存储在数据库中的方式,但我只能改变数据视图。
但是...... 将日期存储为文字对我来说似乎不对。当我尝试通过添加:
来保存此代码时create table `tweets_adj`
select
(...) >>>see above
我收到错误错误的日期时间值:'18 .04.2013 19:57'对于函数str_to_date
如何以正确的方式设置数据库?
非常感谢你。