Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ббд шпоры.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
439.3 Кб
Скачать

36)Язык t-sql. Специальные типы данных. Конвертирование типов данных.

Специальные типы данных.

Bit - этот тип данных позволяет хранить один бит и принимает значение 0 или 1.

Timestamp - этот тип данных используется в качестве индикатора версии изменения строки в пределах базы данных. С помощью типа данных можно отслеживать последовательность изменений строк, как в пределах таблицы, так и в пределах базы данных. Если в таблице имеется колонка типа timestamp, то сервер будет автоматически выполнять обновление значений в этой колонке при изменении или добавлении строки. Значение timestamp уникально в пределах базы данных и может быть с успехом использовано для идентификации конкретного значения строки.

Uniqueidentifier - этот тип данных используется для хранения глобальных уникальных идентификационных номеров. Значения типа занимают 16 бит. В SQL Server имеется функция NEWIDO, с помощью которой может быть получено уникальное значение типа uniqueidentifier. Полученное значение может быть использовано для уникальной идентификации строки. В отличие от колонок типа timestamp, значения в колонках uniqueidentifier автоматически не изменяются.

Sysname – это пользовательский тип данных, созданный самим SQL Server на основе типа данных nvarchar(128). Тип данных sysname используется для описания имен объектов базы данных, таких как таблицы, колонки, типы данных, логические имена файлов и т. д.

Конвертирование типов данных

Нередко бывает необходимо выполнить конвертирование значения одного типа в значение другого типа. Наиболее часто выполняется конвертирование чисел в строки и наоборот. Для конвертирования значений числовых типов данных в символьные строки используется специализированная функция STR. Для выполнения других преобразований в SQL сервере используются универсальные функции CONVERT и CAST. Аргументом функции CAST является величина, которую необходимо конвертировать.

CONVERT (data_type [(length)]), expression [, style])

37)Управляющие конструкции t-sql.

BEGIN...END

С помощью этой конструкции выполняется группировка двух и более команд в единый блок. Сгруппированные команды воспринимаются интерпретатором Transact-SQL как один оператор.

Некоторые команды Transact-SQL не должны выполняться вместе с другими командами, поэтому их включение в конструкцию BEGIN...END совместно с другими командами не допускается. К таким командам относятся команды резервного копирования, изменения структуры таблиц, хранимых процедур и им подобные.

IF...ELSE

Часто определенная часть программы должна выполняться только при определенном условии. Синтаксис этой конструкции следующий:

IF Boolean_expression

{sql_statement | statement_block}

[ELSE

{sql_statement | statement_block}]

Аргумент Boolean__expression определяет логическое условие.

CASE...END

Эта конструкция часто используется для замены множества одиночных или вложенных конструкций IF...ELSE. Конструкция CASE...END возвращает результат, который можно использовать в качестве переменной в других выражениях. Синтаксис конструкции CASE...END следующий:

CASE input_expression

WHEN { when_expression | Boolean_expression }

THEN result_expression

[...n]

[ ELSE else_result_expression ]

END

Аргумент input_expression определяет входное значение. Аргумент when_expression определяет один из вариантов значений аргумента input_expression. Если аргументы when_expression и input_expression совпадают, то конструкция CASE...END возвращает значение result_expression. Можно указать несколько строк WHEN...THEN, которые будут содержать все возможные варианты величины input_expression. Если все же значение входного параметра не найдено ни в одной строке WHEN...THEN, то тогда будет возвращено значение, указанное после ключевого слова ELSE.