Преобразование даты как int из MySQL в дату в Excel - PullRequest
0 голосов
/ 26 марта 2019

Итак, мне было поручено перенести данные из MySQL DB в SQL DB, я экспортирую таблицы в CSV, но обратите внимание, что даты в таблицах в MySQL равны INT, и мне нужно преобразовать их в формат Date. Я делаю TextToColumns, чтобы разделить столбцы, а затем хочу преобразовать их в формат даты, из чего-то вроде 1446839632 в правильный формат даты dd-MM-yyyy

Я понятия не имею, как это сделать, как это можно сделать?

EDIT

Что я пробовал:

  • Пробовал использовать функцию экспорта в MySQL WorkBench в файл SQL, но это не удалось из-за того, что MySQL Server и WorkBench не были в одной и той же версии.
  • Я попытался воспользоваться следующей справкой, чтобы устранить вышеуказанную проблему, но у нерабочих / нет тех же параметров в «Расширенных настройках» в опции «Экспорт данных»

Именно поэтому я сейчас экспортирую таблицы по одной в CSV (щелчок правой кнопкой мыши по таблице, экспорт и т. Д.)

Любая помощь будет оценена.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

FXD - я попросил вас опубликовать ответ, но вы еще не сделали этого, поэтому я публикую ответ, чтобы другим было легче его увидеть. Если вы видите это, пожалуйста, отправьте ответ, и я исправлю отмеченный ответ на ваш :

=DATE(1970,1,1)+(1446839632/60/60/24)

1446839632 можно просто заменить ячейкой, содержащей это значение.

0 голосов
/ 26 марта 2019

Имеются ли у вас значения времени Unix?

Если да:
Согласно https://www.unixtimestamp.com/index.php

Timestamp Converter
1446839632
Is equivalent to:
11/06/2015 @ 7:53pm (UTC)
2015-11-06T19:53:52+00:00 in ISO 8601
Fri, 06 Nov 2015 19:53:52 +0000 in RFC 822, 1036, 1123, 2822
Friday, 06-Nov-15 19:53:52 UTC in RFC 2822
2015-11-06T19:53:52+00:00 in RFC 3339

enter image description here

Option Explicit

Function ts2d(TimeStampValue As Long) As Date
    ts2d = Convert_Timestamp_to_Date(TimeStampValue)
End Function

Function d2ts(DateVal As Date) As Long
    d2ts = Convert_Date_to_Timestamp(DateVal)
End Function

Function Convert_Timestamp_to_Date(TimeStampValue As Long) As Date
    Dim Date_1_1_1970 As Date
    Dim Long_1_1_1970 As Long
    Dim DaysCount As Date

    Date_1_1_1970 = DateSerial(1970, 1, 1)
    'Long_1_1_1970 = 25569
    DaysCount = TimeStampValue / 86400
    Convert_Timestamp_to_Date = DaysCount + Date_1_1_1970
End Function

Function Convert_Date_to_Timestamp(DateVal As Date) As Long
    Dim Date_1_1_1970 As Date
    Dim Long_1_1_1970 As Long
    Dim DaysCount As Date

    Date_1_1_1970 = DateSerial(1970, 1, 1)
    'Long_1_1_1970 = 25569
    DaysCount = DateVal - Date_1_1_1970
    Convert_Date_to_Timestamp = CLng(DaysCount * 86400)
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...