mysql创建表字符串\u to \u date统一两种日期格式

isr3a4wc  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(168)

我正在尝试使用以下代码从查询结果创建一个新表,同时在同一列中有两种不同的日期格式(格式为tweet表中的文本):

Create Table tweets_adj
select
t.fullname as company_name,
t.`user` as twitter_user_name,
t.id as tweet_id,
cast(t.likes as unsigned int) as likes,
cast(t.replies as unsigned int) as replies,
cast(t.retweets as unsigned int) as retweets,

case 
    when right(t.`text`,1)="'" and left(t.text, 2) = "b'" then left(replace(t.`text`, "b'", ""), length(replace(t.`text`, "b'", ""))-1)
    when right(t.`text`,1)='"' and left(t.text, 2) = 'b"' then left(replace(t.`text`, 'b"', ''), length(replace(t.`text`, 'b"', ''))-1)    
     else t.`text` end as content,

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,
t.url,
t.hashtags
from tweets t
limit 1000;

我必须在列timestamp:20.08.2014 20:17 2014-03-10 02:19:02中添加各种时间戳
我想将它们统一为一种日期格式(无特定格式首选),并将它们以正确的格式保存为日期,然后将整个select导出到一个新的查询中。
不幸的是,我得到一个错误:
日期时间值不正确:“20.08.2014 20:17:00”
我也发现了这个问题,但我是一个太多的初学者,不明白这个解决方案。
表tweets看起来是这样的-所有列都被格式化为文本。 fullname 文本null默认null collate“utf8mb4\u unicode\u ci”,(…) timestamp 文本null默认null collate“utf8mb4\u unicode\u ci”,(…)
任何帮助都非常感谢-谢谢!!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题