Переменный строковый тип

Назначение

Задает символьную строку переменной длины.

Синтаксис

1 вариант (в стиле СУБД ЛИНТЕР)

<​переменный строковый тип​>::=
{VARCHAR <​имя​> <​длина​>[<​начальное значение​>}]

2 вариант (в стиле СУБД Ingres)

<​переменный строковый тип​>::=
VARCHAR struct
{short length;
char  text <​длина​>;
}<​имя​>

<​длина​>::='['<​целое положительное число​>']'
<​начальное значение​>::=см. раздел «Начальное значение»
Описание
  1. <​Длина​> задает максимальный размер символьной строки (целое положительное число в диапазоне от 1 до 4000).

  2. Строка, задающая <​начальное значение​>, должна целиком лежать на одной строке исходного текста (исключая собственно строковый литерал, задающий значение поля text).

  3. Если строка, задающая начальное значение, содержит символ ' (кавычка) или " (двойная кавычка), то он экранируется символом \ (обратная косая черта).

  4. Чтобы продолжить символьную строку на следующую линию, используется символ \ (обратная косая черта) в последней позиции строки.

  5. Строка может содержать символы в любых кодировках, поддерживаемых СУБД ЛИНТЕР.

  6. В случае объявления переменных в стиле СУБД ЛИНТЕР переменная типа VARCHAR[n] после претрансляции представляется в модуле основного языка в виде:

    struct
    {
    short len;
    char arr[n];
    }<​имя​>;
  7. В случае объявления переменных в стиле СУБД Ingres переменная типа VARCHAR[n] после претрансляции представляется как

    struct
    { short length;
    char text[n];
     }<​имя​>
Пример
VARCHAR name_month[8];