![]() |
![]() |
|
v7: 1sqlite - хранение даты | ☑ | ||
---|---|---|---|---|
0
ildary
16.05.14
✎
16:59
|
Уважаемые специалисты, подскажите пожалуйста, как при создании внешней таблицы с помошью 1sqlite - выгружать туда поле даты так, чтобы можно было потом в запросе накладывать фильтр типа "WHERE Таб.Date BETWEEN :ДатаНач AND :ДатаКон"?
|
|||
1
Ёпрст
гуру
16.05.14
✎
17:02
|
"YYYY-MM-DD HH:MM:SS.SSS"
|
|||
2
Ёпрст
гуру
16.05.14
✎
17:02
|
да и .. как угодно
|
|||
3
ildary
16.05.14
✎
17:04
|
(1) то есть унутре базы все будет в строковом виде, как в (1), но при этом ДатаНач с 1с-ным типом Дата - позволит это отфильтровать?
|
|||
4
ildary
16.05.14
✎
17:06
|
+(3) и еще - как правильнее обьявлять такую колонку - CHARACTER(23)?
|
|||
5
Ёпрст
гуру
16.05.14
✎
17:25
|
лучше как CURRENT_DATE
|
|||
6
ildary
16.05.14
✎
17:26
|
(5) огромное спасибо!!!
|
|||
7
Эмбеддер
16.05.14
✎
17:28
|
(5) это тип что ли такой? может, функция так называется?
|
|||
8
Ёпрст
гуру
16.05.14
✎
17:35
|
(7) да не, это значения по-умолчанию..
а так, тип date |
|||
9
Ёпрст
гуру
16.05.14
✎
17:35
|
че-то о своём всё.. думаю.
|
|||
10
Ёпрст
гуру
16.05.14
✎
17:37
|
или TEXT ? не помню ужо, надо на http://www.sqlite.org топать смотреть, че он там поддерживает.
|
|||
11
Ёпрст
гуру
16.05.14
✎
17:57
|
вот так можешь хранить, тупо строкой
//******************************************* Процедура Сформировать() ЗагрузитьВнешнююКомпоненту("1sqlite.dll"); база = СоздатьОбъект("SQLiteBase"); Если ФС.СуществуетФайл(КаталогИБ()+"ExtForms\")=0 Тогда ФС.СоздатьКаталог(КаталогИБ()+"ExtForms\"); КонецЕсли; Если ФС.СуществуетФайл(КаталогИБ()+"ExtForms\DB_SQLite\")=0 Тогда ФС.СоздатьКаталог(КаталогИБ()+"ExtForms\DB_SQLite\"); КонецЕсли; ИмяБД = КаталогИБ()+"ExtForms\DB_SQLite\bazaE.db3"; глМД = СоздатьОбъект("MetaDataWork"); база.Открыть(ИмяБД); запросSQLLite = база.НовыйЗапрос(); //запросSQLLite.ВыполнитьЗапрос("PRAGMA journal_mode=WAL"); //это прописать, ежели база в терминале запросSQLLite.ВыполнитьЗапрос("PRAGMA journal_mode=OFF"); ТекстЗапроса =" |Create table if not EXISTS |Базёнка ( | ДатаДок varchar(8) |)"; запросSQLLite.ВыполнитьЗапрос(ТекстЗапроса); ТекстЗапроса = " | INSERT INTO Базёнка | VALUES ('20041102') |"; запросSQLLite.ВыполнитьЗапрос(ТекстЗапроса); ТекстЗапроса = " |Select *,ДатаДок [Дата :Дата] from Базёнка"; ТЗ = запросSQLLite.ВыполнитьЗапрос(ТекстЗапроса); ТЗ.ВыбрАтьСтроку(); запросSQLLite.ВыполнитьЗапрос("drop table Базёнка"); КонецПроцедуры |
|||
12
orefkov
16.05.14
✎
18:57
|
(0)
YYYYMMDD |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |