Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SQLite функция обратная strftime()
Форум на CrossPlatform.RU > Разработка > SQL. Базы данных.
Litkevich Yuriy
Есть ли в SQLite фнкция которая позволяет получить "SQLite дату" из произвольной строки (из значения поля)?

strftime() позволяет получить из "SQLite даты" произвольно форматированную строку, например:
strftime("%Y.%m.%d", 'now')
даст 2013.02.13

а у меня ситуация наоборот, есть в поле ("Date") некой таблицы строка 2013.02.13 и мне её нужно преобразовать к "SQLite дате", т.е. к 2013-02-13.

Если я делаю просто:
cast("Date" as Date)
то получаю ерунду (2013,02)

Поиск по интернету пока не даёт результата.

Реализация должна быть только средствами SQL (применительно к SQLite)
ViGOur
SELECT datetime("2012-08-03 00:00:00");


работает?
Iron Bug
Цитата(Litkevich Yuriy @ 13.2.2013, 15:48) *
есть в поле ("Date") некой таблицы строка 2013.02.13 и мне её нужно преобразовать к "SQLite дате", т.е. к 2013-02-13.

дык, это не преобразования дат, это обычные строковые функции. всякие там substr и иже с ним. смотри полный список функций у них на сайте: http://www.sqlite.org/lang_corefunc.html
Litkevich Yuriy
как оказалось, собака была зарыта тут:
Цитата(Litkevich Yuriy @ 13.2.2013, 14:48) *
cast("Date" as Date)
Хотя вообще поведения Лайта стремнее некуда.
Дело в том что в нём нет типа Date, но он, собака страшная, хоть бы ругнулся на это приведение. Ан нет, чёт своё выплюнул молчком.
Сейчас так делаю:
Сначала точки на чёрточки меняю:
replace(b."date", ".", "-")

ну а потом сравниваю так:
(date("Date") >= date('now', '-7 day'))

если функцию date() не использовать, то ересь получается, т.к. сравнивает просто строковые величины
Iron Bug
не знаю, чем тебе лайт не нравится. у меня он заюзан для отладки наших девайсов. пишет со страшной скоростью, проблем не ощущается. но я пишу время в формате unix timestamp. единственное, что я в нём заметила, это то, что он начинает подглючивать, если очень быстро писать туда и база дорастает до размера больше 500 мегабайт. но я тогда просто открываю ещё одну базу.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.