Переменный строковый тип
Назначение
Задает символьную строку переменной длины.
Синтаксис
1 вариант (в стиле СУБД ЛИНТЕР)
<переменный строковый тип>::=
{VARCHAR <имя> <длина>[<начальное значение>}]
2 вариант (в стиле СУБД Ingres)
<переменный строковый тип>::=
VARCHAR struct
{short length;
char text <длина>;
}<имя>
<длина>::='['<целое положительное число>']'
<начальное значение>::=см. раздел «Начальное значение»
Описание
<Длина>задает максимальный размер символьной строки (целое положительное число в диапазоне от 1 до 4000).-
Строка, задающая
<начальное значение>, должна целиком лежать на одной строке исходного текста (исключая собственно строковый литерал, задающий значение поля text). -
Если строка, задающая начальное значение, содержит символ ' (кавычка) или " (двойная кавычка), то он экранируется символом \ (обратная косая черта).
-
Чтобы продолжить символьную строку на следующую линию, используется символ \ (обратная косая черта) в последней позиции строки.
-
Строка может содержать символы в любых кодировках, поддерживаемых СУБД ЛИНТЕР.
-
В случае объявления переменных в стиле СУБД ЛИНТЕР переменная типа VARCHAR[n] после претрансляции представляется в модуле основного языка в виде:
struct { short len; char arr[n]; }<имя>; -
В случае объявления переменных в стиле СУБД Ingres переменная типа VARCHAR[n] после претрансляции представляется как
struct { short length; char text[n]; }<имя>
Пример
VARCHAR name_month[8];