Привет всем !
Прошу не воспринимать этот вопрос как "чайниковый", просто в Clarion есть некоторые места, которыми пользуешься годами не задумываясь над их смыслом. А теперь все-таки хочется понять ...
Для файлов данных TopSpeed (или Btrieve) есть тип данных DATE и TIME. Но если не нужно поддерживать интерфейс обмена и совместную работу с другими (сторонними) программами и БД, то обычно принято хранить дату и время в LONG. И возникает желание понять - так все-таки какой из форматов хранения данных о дате и времени более оптимален с точки зрения быстродействия доступа, построения ключей и т.д. ? По идее LONG должен проще индексироваться, т.к. это просто число ... Может быть кто-нибудь знаком с внутренним устройством обработки форматов или тестировал разные способы хранения даты и времени ? Заранее спасибо за информацию !
Тип данных DATE / TIME
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Игорь Столяров
- Ветеран движения
- Сообщения: 8035
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
-
- Ветеран
- Сообщения: 311
- Зарегистрирован: 08 Июль 2005, 22:04
Re: Тип данных DATE / TIME
Да, с Long все проще и спокойнее до конца 21-го века
(точную дату не помню). А потом уже дата не будет
туда помещаться и опять проблема типа 2000-го года.
А если использовать Date,Time , то такой проблемы не будет.
А так, Long на наш век хватит.
(точную дату не помню). А потом уже дата не будет
туда помещаться и опять проблема типа 2000-го года.
А если использовать Date,Time , то такой проблемы не будет.
А так, Long на наш век хватит.
- Дед Пахом
- Старичок
- Сообщения: 3289
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 15 раз
- Поблагодарили: 49 раз
- Контактная информация:
Re: Тип данных DATE / TIME
В хелпе всё понятно объясняется.
Standard Date
A Clarion standard date is the number of days that have elapsed since December 28, 1800. The range of accessible dates is from January 1, 1801 (standard date 4) to December 31, 9999 (standard date 2,994,626). Date procedures will not return correct values outside the limits of this range. The standard date calendar also adjusts for each leap year within the range of accessible dates. Dividing a standard date by modulo 7 gives you the day of the week: zero = Sunday, one = Monday, etc.
The LONG data type with a date format (@D) display picture is normally used for a standard date. Data entry into any date format picture with a two-digit year defaults to the century of next 20 or previous 80 years. For example, entering 01/01/01 results in 01/01/2001 if the current year (per the system clock) is greater than 1980, and 01/01/1901 if the current year is 1980 or earlier.
The DATE data type is a data format used in the Btrieve Record Manager and some other file systems. A DATE field is internally converted to LONG containing the Clarion standard date before any mathematical or date procedure operation is performed. Therefore, DATE should be used for external file compatibility, and LONG is normally used for other dates.
С уважением, ДП
- Игорь Столяров
- Ветеран движения
- Сообщения: 8035
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Re: Тип данных DATE / TIME
Спасибо - есстественно я это все читал. С Btrieve - и совместимостью, тоже все понятно.Дед Пахом писал(а):В хелпе всё понятно объясняется.
Но ведь за каким-то форматы DATE и TIME есть в драйвере TopSpeed ...
Т.е. получается, диагноз следующий. Для хранения даты и времени следует использовать LONG, если нет каких-либо других требований (например по совместимости) к формату хранения данных. Правильно ?
Make Clarion Great Again ! 