Выражения
Идентификаторы
Алфавит
В Transact-SQL используются символы латинского алфавита, цифры, символы подчеркивания (_), процента (%), звездочка (*), вопросительный (?) и восклицательный знаки (!), подстановочный знак (#), знаки арифметических операций. В качестве разделителей используется двойная кавычка (“), апостроф (‘), запятая (,), точка (.), точка с запятой (;), двоеточие (:), квадратные и круглые скобки. Практически во всех современных системах программирования в настоящее время допускается применение символов кириллицы. Однако следует помнить, что возможна ситуация, когда применение таких символов в идентификаторах может дать непредсказуемый результат.
Запятые используются для разделения элементов списка, например, имен столбцов таблицы: ИМЯ, АДРЕС, ГОРОД.
Квадратные скобки используются для задания имен столбцов, которые содержат недопустимые символы, включая пробелы и разделители. Часто имя столбца таблицы может быть образовано из нескольких слов [Название компании].
Если в запрос включены поля нескольких таблиц, то для разделения имени таблицы и имени поля используется точка, например: Фирма.Адрес.
Строки можно заключать как в одиночные, так и двойные кавычки. При написании инструкций SQL рекомендуется использовать апострофы.
В качестве символов шаблона, заменяющих произвольное количество символов и один символ, в инструкции LIKE ANSI SQL используются соответственно знаки процента (%) и подчеркивания (_), а в инструкции LIKE Transact-SQL – звездочка и вопросительный знак. В инструкции Transact-SQL LIKE знак # представляет одну любую цифру.
В ANSI SQL восклицательный знак используется как операция отрицания.
Идентификаторы используются для ссылки на объекты баз данных. Построение идентификаторов выполняется на основе следующих правил:
· число символов не более 128, причем в качестве первого может использоваться только буква, символ подчеркивания и знаки @, #, далее могут следовать буквы, цифры или символы #, @, $ и символ подчеркивания;
· идентификатор, начинающийся с символа @, указывает на локальную переменную; два первых символа @@ говорят о том, что идентификатор указывает на глобальную переменную; символ # в начале идентификатора указывает на то, что идентификатор, является именем временной таблицы или процедуры;
· хотя пробелы в идентификаторах запрещены, это ограничение можно обойти, заключив идентификатор в квадратные скобки или двойные кавычки.
Во многих инструкциях Transact-SQL разрешается использовать выражения. Например,
SELECT (FirstName + LastName) AS Автор FROM Authors
В данном примере из таблицы Authors выбираются столбцы с фамилией и именем автора, причем результат трактуется как единое целое, которому присваивается псевдоним Автор.