Преобразование в читабельный вид даты и времени в БД SQLite (Web Browser)

Преобразование в читабельный вид даты и времени в БД SQLite (Web Browser)

@webware

t.me/webware

Всем привет! В процессе работы с БД SQLite в таблицах Дата и Время хранится с типом данных integet:

Таблица calls БД Viber(viber_messages)

Для преобразования Даты и времени в БД History(Opera) используем следующий код SQL в программе DB Browser for SQLite:

SELECT datetime(last_visit_time / 1000000 + (strftime('%s', '1601-01-01')), 'unixepoch','localtime') AS [Дата],
    url AS [URL], title AS [Сайт], visit_count AS [Количество посещений]
FROM urls
ORDER BY last_visit_time DESC

Запрос к БД History(Opera)

Значение в ячейке last_visit_time – это дата и время, которая хранится в 17 символах и исчисление идёт с 01.01.1601, поэтому для её преобразования потребуется нехитрая конструкция:

datetime(last_visit_time / 1000000 + (strftime('%s', '1601-01-01')), 'unixepoch','localtime')

Пример запроса преобразования даты в БД Viber(viber_messages):

SELECT CASE type
        WHEN '1' THEN 'Принятый'
        WHEN '2' THEN 'Набранный'
        WHEN '3' THEN 'Пропущенный'
    END AS [Тип],
    number,DATETIME(SUBSTR(date , 1,10), 'unixepoch', 'localtime') AS [Дата], TIME(duration,'unixepoch') AS [Продолжительность]
FROM calls
ORDER BY duration DESC

В БД Viber в ячейке date храниться дата-время в юниксоидном формате, для его преобразования используем : DATETIME(SUBSTR(date , 1,10), 'unixepoch', 'localtime')


В обоих примерах 'localtime' используем для вывода времени в текущем часовом поясе Windows. Данный способ можно использовать и для других БД, где Дата и Время храниться в ячейке с типом integer.


Исходник запроса к БД History(Opera): Запрос к БД History(Opera)

Исходник запроса к БД Viber(viber_messages): Запрос к БД Viber(viber_messages)

Исходный код на git.codeby к БД Viber(viber_messages): Запрос к БД Viber(viber_messages)

Исходный код на git.codeby к БД History(Opera):Запроса к БД History(Opera)

Спасибо идейному вдохновителю @Sunnych !


Спасибо за внимание.

Источник codeby.net

Report Page