我有一个表,其中包括以下列:
CREATE TABLE `tweets` (
(...)
`timestamp` TEXT NULL DEFAULT NULL COLLATE 'utf8mb4_unicode_ci',
(...)
)
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;
在本专栏中,我有两种不同的时间格式:
2014-08-20 20:17:00
18.04.2013 19:57
我正在尝试创建一个带有格式化日期的新表:
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;
select代码工作得很好,到目前为止,我了解到在mysql中,我不能更改日期在数据库中的存储方式,但我只能更改数据的视图。
然而。。。将日期存储为文本对我来说似乎不合适。当我试图通过添加以下内容保存此代码时:
create table `tweets_adj`
select
(...) >>>see above
我得到错误的datetime值:str\u to\u date函数的“18.04.2013 19:57”
如何正确设置数据库?
非常感谢。
暂无答案!
目前还没有任何答案,快来回答吧!