Проблема некорректной работы функций дат в SQLite (v3)

Хранение дат в виде NUMERIC TypeOf теперь TEXT введите сюда описание изображения

Данные в таблице пустых значений не имеют. введите сюда описание изображения

SQLite3 упорно возвращает NULL в выборке из таблицы, где даты (FullDate) хранятся в виде NUMERIC:

SELECT date(FullDate, '%dd') AS FD, FullDate FROM FmtDays;

Ни один из шаблонов ('%d', '%YYYY', etc) не срабатывает. CAST (...) AS TEXT и использование strftime вообще возвращает ТОЛЬКО год. В чем может быть проблема?

UPD: добавил скрины для наглядности.


Ответы (1 шт):

Автор решения: Ainar-G

Непонятно, чего вы собственно хотите добиться. Функция DATE принимает строчную дату и список модификаторов. Например:

SELECT DATE('2020-01-01T00:00:00Z', '+3 days')
-- Output: 
--   2020-01-04

Если вам нужно вывести день из Unix-даты, то это будет как-то так:

SELECT STRFTIME('%d', 1598864356, 'unixepoch')
-- Output:
--   31

Документация.


После правки видно, что у вас там TEXT, а не NUMERIC. В вашем случае должно сработать что-то типа такого:

SELECT STRFTIME('%d', REPLACE(FullDate, '.', '-'));
→ Ссылка