Запрос Sqllite преобразует метку времени в дату

#sqlite #date #timestamp #dbeaver

#sqlite #Дата #отметка времени #dbeaver

Вопрос:

Я работаю с DBeaver в Ubuntu Linux и запрашиваю базу данных sqlite через org.sqlite.Драйвер JDBC. В таблице столбец с именем «дата события», по-видимому, имеет тип

 ABCevent_date(TIMESTAMP(10))  

поэтому, когда я запрашиваю его, я получаю столбец с большими длинными числами, такими как :

 |event_date | |-------------| |1430434800000| |1430434800000| |1430434800000| |1430434800000| |1430434800000| |1433286000000| |1433286000000|  

Я пробовал много вещей, используя DATE, DATETIME и STRFTIME, но не могу заставить их отображаться в результатах запроса как обычная дата, например «2014-05-10», обычно просто обнуляется. Как я могу преобразовать эти числа в даты? Thx. J

Ответ №1:

Ваши даты-это времена эпохи unix с миллисекундами.
Вы должны разделить event_date на 1000, чтобы убрать миллисекунды, а затем использовать функцию date() или datetime() :

 SELECT date(event_date / 1000, 'unixepoch') FROM ...