mysql CREATE TABLE STRING_TO_DATE объединяет два формата даты - PullRequest
0 голосов
/ 30 апреля 2018

Я пытаюсь создать новую таблицу из результатов запроса со следующим кодом, имея два разных формата даты (отформатированный как текст в таблице твитов) в одном столбце:

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;

Я должен сортировать метки времени в метке времени столбца: 20.08.2014 20:17 2014-03-10 02: 19: 02

Я хочу объединить их в один формат даты (предпочтительный формат не указан) и сохранить их в нужном формате в качестве даты, а затем экспортировать весь выбор в новый запрос.

К сожалению, я получаю сообщение об ошибке:

Неправильное значение даты и времени: '20 .08.2014 20: 17: 00 '

Я также нашел этот вопрос , но я слишком начинающий, чтобы понять это решение.

твиты таблицы выглядят так - все столбцы отформатированы как текст, например fullname ТЕКСТ NULL ПО УМОЛЧАНИЮ NULL COLLATE 'utf8mb4_unicode_ci', (...) timestamp TEXT NULL ПО УМОЛЧАНИЮ NULL COLLATE 'utf8mb4_unicode_ci', (...)

Любая помощь очень ценится - спасибо !!

...