Совместимость типов данных

Переменные основного языка могут иметь тип, не совпадающий с типом привязываемого параметра предложения встроенного SQL. В таком случае на этапе выполнения осуществляется преобразование типов (если типы совместимы) от типа основного языка к типу СУБД ЛИНТЕР и наоборот.

Если невозможно выполнить преобразование от типа данных СУБД ЛИНТЕР к типу данных основного языка или наоборот, то на этапе исполнения возникает ошибка ErrPCI_IncTyp.

В таблице 4 приведено соответствие типов переменных встроенного языка, типов переменных основного языка (получаемых после претрансляции) и типов данных СУБД ЛИНТЕР, между которыми не требуется преобразование типов при исполнении.

Таблица 4. Соответствие типов данных
Тип данных встроенного языкаТип данных основного языкаТип СУБД ЛИНТЕРПримечание

short

short

SMALLINT

16 бит

unsigned short

unsigned short

SMALLINT

16 бит

int

int

INTEGER

32 бита. В DOS и PalmOS преобразуется в 16 бит

unsigned int

unsigned int

INTEGER

32 бита. В DOS и PalmOS преобразуется в 16 бит

long

long

INTEGER

32 бита. В 64-битных архитектурах (например, Alpha, Sparc v9) преобразуется в 64 бита

unsigned long

unsigned long

INTEGER

32 бита. В 64-битных архитектурах (например, Alpha, Sparc v9) преобразуется в 64 бита

float

float

REAL

4 байта

double

double

DOUBLE

8 байт

decimal

decimal (p,s)

dec (decimal)

Десятичное с фиксированной точкой (30,10)

char

char

CHAR

 

char[1]

char[1]

CHAR

 

char[n]

char[n]

CHAR(n)

 

char*

char*

CHAR()

Заканчивается двоичным нулем

varchar[n]

VARCHAR_PCI(n)

VARCHAR(n)

Символьная строка переменной длины с 2-байтным полем длины

bit

unsigned char

BYTE

 

bit[1]

unsigned char [1]

BYTE

 

bit[n]

unsigned char [n]

BYTE(n)

 

bit*

unsigned char*

BYTE()

Заканчивается двоичным нулем

varbit[n]

VARBIT_PCI(n)

VARBYTE(n)

Байтовая строка переменной длины с 2-байтным полем длины

date

timestamp[2]

DATE

 

bool

unsigned char

BOOLEAN

unsigned char

  

BLOB

В привязанную переменную char[24] возвращается заголовок BLOB

  

EXTFILE

Не поддерживается