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

Назначение

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

Синтаксис

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] ;