Продукт «Форсайт. Аналитическая платформа» поддерживает работу с данными следующих типов:
String. Строковые данные;
Integer. Целочисленные значения;
Float. Вещественные значения;
DateTime. Дата и время;
Blob. Массив двоичных либо символьных данных;
Boolean. Логические значения;
Date. Дата без времени;
Decimal. Десятичные значения высокой точности.
Тип данных String используется для представления строковых данных.
Каждая строка представляет собой упорядоченный массив из нуля или более юникод-символов.
Строковые значения заключаются в двойные кавычки: "Любой текст". Если в строке содержится текст с кавычками, то для отображения кавычек в строке необходимо заключить текст в двойные кавычки: "Любой текст ""Текст""".
Строка может содержать до 2 Гб данных.
Допустимый размер значений данных
Тип данных Integer используется для представления целых чисел (целочисленных значений).
Каждое значение занимает в памяти 4 байта и представляет собой 32-разрядное целое число со знаком в диапазоне от -2147483648 до 2147483647. Разряды 0-31 используются для хранения самого числа, разряд 32 - для хранения знака.
Тип данных Float используется для представления чисел с плавающей точкой (вещественных значений).
Каждое значение занимает в памяти 8 байт и представляет собой число двойной точности с плавающей точкой и знаком в диапазоне от -5.0 x 10^-324 до 1.7 x 10^308. Для записи всего числа отводится 15-16 цифр. Таким образом, если целая часть числа занимает 4 цифры, то для дробной части остаётся 11-12 цифр.
При попытке записать в значение типа Float число, имеющее более 15-16 значащих цифр, будут сохранены только первые 15-16 цифр, а остальные будут заменены нулями.
Для указания больших чисел доступно использование экспоненциальной записи чисел: 1 000 000 = 1e6, 0.000015 = 1.5E-5.
Примечание. Для представления чисел более высокой точности предназначен тип данных Decimal.
Операции над вещественными числами
Тип данных DateTime используется для хранения даты и времени.
Каждое значение представляет собой дату и время в диапазоне от 00:00:00 1 января 100 года (н.э.) до 23:59:59 31 декабря 9999 года (н.э.).
При указании даты меньше допустимой автоматически будет формироваться дата, к которой будет добавлено текущее столетие. Например, при указании даты 1 января 30 года будет сформирована дата 1 января 2030 года.
Примечание. Для хранения даты без времени предназначен тип данных Date.
Тип данных Blob используется для представления больших двоичных данных, например, изображений и видео, или больших текстовых данных заданной кодировки.
Каждое значение представляет собой массив из нуля или более двоичных либо символьных данных.
Значения типа Blob начинаются с приставки «0h», за которой следуют символьные строки в шестнадцатеричном представлении без кавычек, например: 0h202020, 0h6ABCDEF.
Максимальный возможный размер данных, хранимых в значении типа Blob, ограничивается объёмом доступной памяти в системе.
Тип данных Boolean используется для представления логических значений.
Каждое значение представляет собой одно из двух логических значений: True (истина) или False (ложь).
Операции над логическими значениями
Тип данных Date используется для хранения даты без времени.
Каждое значение представляет собой дату в диапазоне от 1 января 100 года (н.э.) до 31 декабря 9999 года (н.э.).
При указании даты меньше допустимой автоматически будет формироваться дата, к которой будет добавлено текущее столетие. Например, при указании даты 1 января 30 года будет сформирована дата 1 января 2030 года.
Тип данных Decimal предназначен для представления чисел с плавающей точкой (вещественных значений) с высокой точностью.
Каждое значение занимает в памяти 16 байт и хранится как целое число со знаком, масштабируемое с переменным коэффициентом в виде степени 10. Масштабирующий множитель задаёт количество разрядов после запятой, которое изменяется в пределах от 0 до 28.
Для нулевого масштаба (разряды десятичной дроби отсутствуют) наибольшее по модулю значение равно +/-79 228 162 514 264 337 593 543 950 335. Для 28 разрядов после запятой наибольшее по модулю значение равно +/-7,9228162514264337593543950335, а наименьшее по модулю ненулевое значение равно +/-0,0000000000000000000000000001 (+/-1E-28).
Для обозначения чисел с типом Decimal используется суффикс «m» или «M»: 1.123m, 1.123e10m, 1.123E-10M. Числа без суффикса рассматриваются как вещественные числа типа Float, при попытке их присвоения переменной типа Decimal возникнет ошибка о несовместимости типов.
Примечание. Источники данных, использующие тип данных Decimal и созданные в старых версиях платформы, могут не поддерживаться в более новых версиях. Может потребоваться пересоздание источника данных.
См. также: