Название: как в SQLLite записать дату Отправлено: slava_d200 от Декабрь 03, 2011, 01:17 Доброе время суток.
Люди покажите как в SQLLite записать дату: INSERT INTO Doc (GUID_id, Number, Date) VALUES ('{7bcb868d-b023-4a88-9e11-3f5b12f5b409}', 1, '03.12.2011'); не получается :( Название: Re: как в SQLLite записать дату Отправлено: slava_d200 от Декабрь 03, 2011, 01:40 Отвечаю сам себе :)
INSERT INTO Doc (GUID_id, Number, Date) VALUES ('{5ccc6b85-afa9-4c1b-bc16-9c6c5c2474d1}', 1, '2011-12-03 02:38:16'); вот так работает тока непойму почему в базу пишется дата без секунд Название: Re: как в SQLLite записать дату Отправлено: Rem Norton от Декабрь 03, 2011, 11:14 Потому, что в SQLite дата хранится в виде строки. Если есть необходимость делать выборки по дате (<, >, between), то в таком виде будет полная лажа.
Название: Re: как в SQLLite записать дату Отправлено: BuRn от Декабрь 03, 2011, 23:46 может вам нужно
CURRENT_TIMESTAMP() ? дата время текущее ? Название: Re: как в SQLLite записать дату Отправлено: Termit от Декабрь 04, 2011, 01:28 Отвечаю сам себе :) INSERT INTO Doc (GUID_id, Number, Date) VALUES ('{5ccc6b85-afa9-4c1b-bc16-9c6c5c2474d1}', 1, '2011-12-03 02:38:16'); Правильный формат времени 2011-12-03T02:38:16. Будет и читаться и писаться и работать с <, >, between Название: Re: как в SQLLite записать дату Отправлено: Termit от Декабрь 04, 2011, 01:37 Хотя нет. Если заглянуть в мануал
Цитировать A time string can be in any of the following formats: 1. YYYY-MM-DD 2. YYYY-MM-DD HH:MM 3. YYYY-MM-DD HH:MM:SS 4. YYYY-MM-DD HH:MM:SS.SSS 5. YYYY-MM-DDTHH:MM 6. YYYY-MM-DDTHH:MM:SS 7. YYYY-MM-DDTHH:MM:SS.SSS 8. HH:MM 9. HH:MM:SS 10. HH:MM:SS.SSS 11. now 12. DDDDDDDDDD Сам пользуюсь форматом 6 т.к. он соответствует enum Qt::DateFormat Qt::ISODate Название: Re: как в SQLLite записать дату Отправлено: LisandreL от Декабрь 04, 2011, 02:21 А ещё лучше использовать bindValue (c QDateTime), а не изобретать велосипед, как вписать дату строкой.
Название: Re: как в SQLLite записать дату Отправлено: Termit от Декабрь 04, 2011, 03:35 А ещё лучше использовать bindValue (c QDateTime), а не изобретать велосипед, как вписать дату строкой. Все так, но иногда, достаточно редко :-), люди записывают данные в базу не через программу на Qt, а банальным каким-нить клиентом... И вот тогда и нужно записать так чтобы потом из Qt данные можно было вычитать и сказать им toDateTime() как того требует QVariant. При этом полезно знать в каком формате представить дату.А по поводу велосипеда - абсолютно согласен! bindValue - наше все. Название: Re: как в SQLLite записать дату Отправлено: Странник от Декабрь 04, 2011, 14:08 addBindValue наше все, c positional placeholders проблем совместимости нет = )
|