В этой статье:

String

Integer

Float

DateTime

Blob

Boolean

Date

Decimal

Работа с типами данных

Продукт «Форсайт. Аналитическая платформа» поддерживает работу с данными следующих типов:

String

Тип данных String используется для представления строковых данных.

Каждая строка представляет собой упорядоченный массив из нуля или более юникод-символов.

Строковые значения заключаются в двойные кавычки: "Любой текст". Если в строке содержится текст с кавычками, то для отображения кавычек в строке необходимо заключить текст в двойные кавычки: "Любой текст ""Текст""".

Строка может содержать до 2 Гб данных.

Операции над строками

Допустимый размер значений данных

Integer

Тип данных Integer используется для представления целых чисел (целочисленных значений).

Каждое значение занимает в памяти 4 байта и представляет собой 32-разрядное целое число со знаком в диапазоне от -2147483648 до 2147483647. Разряды 0-31 используются для хранения самого числа, разряд 32 - для хранения знака.

Операции над целыми числами

Float

Тип данных 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

Тип данных DateTime используется для хранения даты и времени.

Каждое значение представляет собой дату и время в диапазоне от 00:00:00 1 января 100 года (н.э.) до 23:59:59 31 декабря 9999 года (н.э.).

При указании даты меньше допустимой автоматически будет формироваться дата, к которой будет добавлено текущее столетие. Например, при указании даты 1 января 30 года будет сформирована дата 1 января 2030 года.

Примечание. Для хранения даты без времени предназначен тип данных Date.

Операции над датой и временем

Blob

Тип данных Blob используется для представления больших двоичных данных, например, изображений и видео, или больших текстовых данных заданной кодировки.

Каждое значение представляет собой массив из нуля или более двоичных либо символьных данных.

Значения типа Blob начинаются с приставки «0h», за которой следуют символьные строки в шестнадцатеричном представлении без кавычек, например: 0h202020, 0h6ABCDEF.

Максимальный возможный размер данных, хранимых в значении типа Blob, ограничивается объёмом доступной памяти в системе.

Boolean

Тип данных Boolean используется для представления логических значений.

Каждое значение представляет собой одно из двух логических значений: True (истина) или False (ложь).

Операции над логическими значениями

Date

Тип данных Date используется для хранения даты без времени.

Каждое значение представляет собой дату в диапазоне от 1 января 100 года (н.э.) до 31 декабря 9999 года (н.э.).

При указании даты меньше допустимой автоматически будет формироваться дата, к которой будет добавлено текущее столетие. Например, при указании даты 1 января 30 года будет сформирована дата 1 января 2030 года.

Операции над датой

Decimal

Тип данных 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 и созданные в старых версиях платформы, могут не поддерживаться в более новых версиях. Может потребоваться пересоздание источника данных.

Операции над вещественными числами высокой точности

См. также:

DbDataType