У меня есть даты в базе данных postgres. Проблема в том, что они хранятся в строковом поле и имеют значения, похожие на: «1187222400000» (что соответствовало 07.08.2007). Я хотел бы преобразовать их в удобочитаемые даты с помощью некоторого выражения SQL to_date() или чего-то подобного, но не может найти правильного синтаксиса, чтобы заставить его работать.Преобразование строки временной метки в дату
ответ
Здесь действительно недостаточно информации для заключения, поэтому я предлагаю эту «научную дикую задницу», чтобы решить вашу головоломку. :)
Это появляется это число UNIX 'время эпохи' в миллисекундах. Я покажу этот пример, как будто ваше поле строки имеет произвольное имя «epoch_milli». В PostgreSQL вы можете преобразовать его в штамп времени, используя эту инструкцию:
SELECT TIMESTAMP WITH TIME ZONE 'epoch' + epoch_milli * INTERVAL '1 millisecond';
или с помощью этого built-in postgresql function:
ВЫБОР to_timestamp (epoch_milli/1000)
либо из них, на примере «1187222400000 », выдает результат
"2007-08-15 17:00:00-07"
Вы можете сделать некоторые из ваших собственных слежки с достаточно несколько значений, выбранных по аналогии с этим:
SELECT to_timestamp(epoch_milli/1000)::DATE
FROM (VALUES (1187222400000),(1194122400000)) AS val(epoch_milli);
«Ну, болота, человек. Я просто хочу, дату «точки взяты
Просто отбрасывать метку времени на дату, чтобы сбросить лишние биты:..
SELECT to_timestamp(epoch_milli/1000)::DATE
Конечно его можно, что это значение конверсии или по отношению к какой-либо другой значение, следовательно, запрос для второй примерной точки данных.
Ответ. Благодарю. Фактически, работая в CARTO, похоже, есть несколько вещей, которые отличаются, но ваш to_timestamp() отправил меня в правильном направлении. Мне пришлось преобразовать сначала в biginteger, а затем в метку времени, но результат является идеальным: to_timestamp (NULLIF (date_field, '') :: bigint/1000) – oddpodm
- 1. Преобразование временной метки UTC в локальную дату
- 2. преобразование строки в улей временной метки
- 3. Преобразование строки в эпоху временной метки
- 4. Преобразование временной строки в дату swift
- 5. Преобразование временной метки в улье
- 6. Преобразование метки времени как строки в дату в android
- 7. Неправильное преобразование временной метки сервера в String
- 8. Преобразование временной строки в DateTime
- 9. Преобразовать дату facebook в формат временной метки
- 10. Преобразование столбца временной метки в csv
- 11. Преобразование строки временной метки в число в Oracle
- 12. Преобразование временной метки строки в уникальный первичный ключ
- 13. Преобразование строки в дату с указанием временной зоны
- 14. Преобразование временной метки в миллисекунд с эпохи
- 15. Преобразование наносекунд для временной метки в Python
- 16. Преобразование значения временной метки в число
- 17. Преобразование значений словаря в формат временной метки
- 18. Преобразование временной метки (строка) в миллисекундах (длинных)
- 19. Преобразование временной метки из PST в UTC
- 20. Преобразование временной метки в Oracle SQL
- 21. Преобразование временной метки в часовые пояса
- 22. Преобразование временной метки не дает желаемого результата
- 23. Преобразование строки в временной интервал (?)
- 24. Преобразование временной строки в секунды
- 25. Преобразование временной метки к нормальной дате в формате JSON
- 26. Преобразование строки в дату
- 27. Преобразование строки в дату
- 28. Преобразование строки в дату?
- 29. Преобразование строки в дату
- 30. Преобразование Gmail временной метки для strptime
Можете ли вы предоставить второе значение с его связанной датой? – Vic
Может ли значение «1187222400000» выше соответствовать «2007-08-15 17:00:00», ? – Vic
Это возможно. У меня есть те же данные в другой базе данных, где показана только дата, но вполне возможно, что d это есть также время – oddpodm