Я импортирую данные SQL в Spotfire Analyst. Все поля даты и времени имеют форму отметки времени Unix. Как лучше всего преобразовать это в фактический формат даты, которым я могу управлять в Spotfire?
Преобразование метки времени Unix - Spotfire Analyst
Ответы (2)
Используя вычисляемый столбец, вы можете рассчитать дату и время на основе эпохи UNIX.
Мы просто добавляем наши секунды к DateTime эпохи UNIX (01 января 1970 00:00:00 UTC), чтобы получить результат. Ниже приведен пример времен UNIX, когда я начал писать этот пост.
DateAdd("second",1429733486,DateTime(1970,1,1,0,0,0,0))
Ниже приведено то, что должно сработать для вас:
DateAdd("second",[UNIX_TIMESTAMP_COLUMN],DateTime(1970,1,1,0,0,0,0))
Имейте в виду, что эти даты будут в часовом поясе UTC в соответствии с эпохой 1 января 1970 года. Если они вам нужны в вашем часовом поясе, вам, возможно, придется соответствующим образом отрегулировать их с помощью дополнительных функций DateAdd, добавляющих / вычитающих время в соответствии с текущими преобразованиями. Кроме того, если вы соблюдаете летнее время, вам может потребоваться добавить некоторую дополнительную логику случая, чтобы справиться с этим.
Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы или вам нужны дополнительные разъяснения.
select to_char(to_date('01/01/1970','mm/dd/yyyy')+1429733486/86400) from dual
Вы можете заменить 1429733486 нужным столбцом и установить вверх каждый столбец, подобный этому, в вашем SQL.
- person clesiemo3; 23.04.2015
В 7.0 и более поздних версиях вы можете использовать
FromEpohTimeSeconds([UNIXDATE])
or
FromEpohTimeMilliseconds([UNIXDATE])