Функция SQLite для вставки даты ГГГГ-ММ-ДД вместо ГГГГММДД - PullRequest
0 голосов
/ 25 апреля 2020

Я получаю значение даты в формате ГГГГММДД 19840907. Я пытаюсь записать вставку в таблицу SQLite с функцией преобразования даты в формат ГГГГ-ММ-ДД 1984-09-07. Что-то вроде:

INSERT INTO
    my_table (date)
VALUES
    (DATE('19840907'));

Кажется, я все еще не понимаю, как должны работать функции преобразования в этой документации. https://www.sqlite.org/lang_datefunc.html

Любая помощь, пожалуйста?

1 Ответ

2 голосов
/ 25 апреля 2020

Вы должны использовать строковую функцию substr() для преобразования, а не функцию date(), которая работает только в действительном (для SQLite) формате даты YYYY-MM-DD hh:mm:ss:

INSERT INTO
    my_table (date)
VALUES(
  substr('19840907', 1, 4) || '-' ||
  substr('19840907', 5, 2) || '-' ||
  substr('19840907', 7, 2) 
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...