Типы данных для хранения информации о времени. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Типы данных для хранения информации о времени.



Datetime - для представления данных этого типа SQL Server 7.0 использует 8 байт. В первых 4 байтах хранится информация о дате. Это значение — своего рода смещение относительно базовой даты. В качестве базовой даты было выбрано 1 января 1753 г. Оставшиеся 4 байта хранят информа­цию о количестве миллисекунд, прошедших после полуночи данного дня. В итоге тип данных datetime позволяет хранить значения о дате и времени в диапазоне от 1 января 1753 г. до 31 декабря 9999 г. с точностью до 3,33 мс.

Бинарные типы данных.

Binary(n) - этот тип данных позволяет хранить до 8000 байт. Значение n определяет количество байт, которое будет храниться. В таблице будет выделено n+4 байта (4 байта используются для хранения длины самого поля).

Varbinary(n) – этот тип данных идентичен типу binary с единственным отличием — в таблице для хранения данных этого типа выделяется ровно столько байт, сколько ввел пользователь, плюс 4 байта на описание длины. Аргумент n (максимальное значение — 8000) определяет только максимальную длину, при превышении которой происходит усечение данных.

Image - этот бинарный тип позволяет преодолевать ограничение длины в 8000 байтов, характерное для типов binary и varbinary. При использовании этого типа допускается хранение битовых полей длиной до 231-1 (2 147 483 647). Пространство в таблице для этого типа данных выделяется целыми страницами. Если в таблице имеется колонка с типом данных image, то первоначально сервер выделяет для нее одну страницу. При необходимости выделяются дополнительные страницы, которые связываются в цепочку.

Символьные типы данных.

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

Char(n) - этот тип данных разрешает хранение набора символов длиной до 8000 знаков. Аргумент n определяет максимальное количество символов, его максимальное значение равно 8000 (255 для SQL Server 6.x). В таблице для хранения значений типа char выделяется указанное количество байт независимо от того, сколько символов было реально сохранено. Если пользователь сохраняет строку длиной менее объявленной, то сервер до­бавляет в конец строки необходимое количество пробелов. Если строка превышает объявленную длину, то строка усекается, и часть конечных символов будет потеряна.

Varchar(n) - этот тип подобен типу данных char с тем отличием, что количе­ство выделяемого в таблице пространства зависит от реального числа байтов, которое занимает значение.

Nchar(n) - поведение сервера при работе с этим типом аналогично работе с типом данных char с тем отличием, что тип nchar используется для хранения символов Unicode. Каждый символ Unicode занимает два байта и, следовательно, максимальное количество символов, которое можно сохранить с использованием этого типа, равно 4000. Если в коде программы необходимо явно указать тип символьной строки как Unicode, то перед строкой ставится символ «N». Например, оператор SET присвоит переменной символьную строку в формате Unicode. Если символ «N» не указывается, то сервер предполагает, что строка указана не в Unicode.

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

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

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

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

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

 

Функция Назначение
DATALENGTH Возвращает количество байт, занимаемых величиной.
PATINDEX Поиск подстроки в текстовом поле
SUBSTRING Возвращает подстроку текстового поля
TEXTPTR Возвращает указатель на текстовую колонку
TEXTVALID Проверка правильности указателя
READTEXT Считывает данные из текстового поля
SET TEXTSIZE Определяет количество символов, возвращаемых командой SELECT
UPDATETEXT Используется для изменения текстовых данных
WRITETEXT Перезаписывает текстовые поля в строке

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

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 может иметь только одна колонка в таблице

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

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

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

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

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



Поделиться:


Последнее изменение этой страницы: 2017-02-19; просмотров: 298; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 44.223.36.100 (0.005 с.)