Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы ГЭК (для заочников).doc
Скачиваний:
53
Добавлен:
26.04.2019
Размер:
348.67 Кб
Скачать

7)Текстовые типы данных

Текстовые типы данных так же, как и символьные, позволяют хранить текстовые данные. Они обеспечивают хранение очень большого количества символов — до 2 Гбайт. К текстовым типам данных относятся следующие:

1. Text. Этот тип обеспечивает хранение блоков текста длиной до 2"-1 (2 147 483 647) символов. Как и для данных типа image, при работе с данными типа text сервер первоначально выделяет для хранения данных одну страницу (8 Кбайт). При необходимости выделяются дополнительные страницы, которые связываются в цепочку.

2. Ntext. При работе с большим объемом текста в формате Unicode использу­ется тип данных ntext, обеспечивающий хранение до 2м-1 (1 073 741 823) символов. Хранение данных типа ntext осуществляется теми же методами, что и типов text и image.

Работа с текстовыми типами данных отличается от работы с символьными типами данных. SQL Server 7.0 предлагает набор специализированных функций для обработки текстовых данных. Эти функции перечислены в табл.

Функция

Назначение

DATALENGTH

Возвращает количество байт, занимаемых величиной

PATINDEX

Поиск подстроки в текстовом поле

SUBSTRING

Возвращает подстроку текстового поля

TEXTPTR

Возвращает указатель на текстовую колонку

TEXTVALID

Проверка правильности указателя

READTEXT

Считывает данные из текстового поля

SET TEXTSIZE

Определяет количество символов, возвращаемых командой SELECT

UPDATETEXT

Используется для изменения текстовых данных

WRITETEXT

Перезаписывает текстовые ноля в строке

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

К специальным типам данных относятся следующие:

Bit- этот тип данных позволяет хранить один бит и принимает значение 0 или 1. Тип данных bit как нельзя лучше подходит для хранения данных, которые могут принимать только два значения: «YES/NO», «MAN/WOMAN», «TRUE/FALSE», «ON/OFF» и т. д.

Timestamp. Этот тип данных используется SQL Server 7.0 в качестве индикатора версии изменения строки в пределах базы данных. С помощью типа данных можно отслеживать последовательность изменений строк как в пределах таблицы, так и в пределах базы данных. Значения timestamp не имеют ничего общего с типами datetime и smalldatetime. Если в таблице имеется колонка типа timestamp, то сервер будет автоматически выполнять обновление значений в этой колонке при изменении или добавлении строки. Значение timestamp уникально в пределах базы данных и может быть с успехом использовано для идентификации конкретного значения строки. Для каждой базы данных SQL Server ведет отдельный счетчик значений timestamp. При внесении любых изменений в таблицу, в которой имеется колонка типа timestamp, значение счетчика увеличивается на 1, после чего новое значение сохраняется в измененной строке. Тип timestamp может иметь только одна колонка в таблице

Uniqueidentifiег. Этот тип данных используется для хранения глобальных уникальных идентификационных номеров (Global Unique Identifier — GUID). Значения типа занимают 16. В SQL Server 7.0 имеется функция NEWIDO, с помощью которой может быть получено уникальное значение типа uniqueidentifier. Полученное значение может быть использовано для уникальной идентификации строки. В отличие от колонок типа timestamp, значения в колонках uniqueidentifiег автоматически не изменяются. Для генерации значения функцией NEWIDO используется номер сетевой карты и текущее значение времени внутри процессора в миллисекундах.

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

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

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

CAST(expression AS data_type)