1.5.1.   Тип данных «строка символов»

Стандарт поддерживает только один тип представления тек­ста — CHARACTER (CHAR). Этот тип данных представляет собой символьные строки фиксированной длины. Его синтаксис име­ет вид:

CHARACTER [(длина)] или

CHAR [(длына)].

Текстовые значения поля таблицы, определенного как тип CHAR, имеют фиксированную длину, которая определяется пара­метром длина. Этот параметр может принимать значения от 1 до 255, то есть строка может содержать до 255 символов. Если во вводимой в поле текстовой константе фактическое число симво­лов меньше числа, определенного параметром ддмна, то эта константа автоматически дополняется справа пробелами до за­данного числа символов.

Некоторые реализации языка SQL поддерживают в качестве типа данных строки переменной длины. Этот тип может обозна­чаться ключевыми словами VARCHAR (j, CHARACTER VARYING или CHAR VARYING (j . Он описывает текстовую строку, которая может иметь произвольную длину до определенного конкретной реализацией SQL максимума (в Oracle — до 2000 символов). В отличие от типа CHAR в этом случае при вводе текстовой кон­станты, фактическая длина которой меныАе заданной, не про­изводится ее дополнение пробелами до заданного максимально­го значения.

Константы, имеющие тип CHARACTER и VARCHAR, в выра­жениях SQL заключаются в одиночные кавычки, например, 'текст'.

Следующие предложения эквивалентны:

VARCHAR   [ (дпмня) ] ,  CHAR VARYING   [ (дпмнп) ], CHARACTER VARYING    [ (дпмна) ] .

Если длина строки не указана явно, она полагается равной одному символу во всех случаях.

По сравнению с типом CHAR тип данных VARCHAR позволяет более экономно использовать память, выделяемую для хранения текстовых значений, и оказывается более удобным при выполне­нии операций, связанных со сравнением текстовых констант.