Пример 2.2. Использование пользовательского типа данных bir при создании таблицы.
Пример 2.1. Создание пользовательского типа данных bir.
Создание пользовательского типа данных
В системе SQL-сервера имеется поддержка пользовательских типов данных. Они могут использоваться при определении какого-либо специфического или часто употребляемого формата.
Создание пользовательского типа данных осуществляется выполнением системной процедуры:
sp_addtype [@typename=]type,[@phystype=]
system_data_type
[,[@nulltype=]’null_type’]
Тип данных system_data_type выбирается из следующей таблицы.
Таблица 2.3.
image
smalldatetime
decimal
bit
text
real
‘decimal[(p[,s])]’
‘binary(n)’
uniqueidentifier
datetime
numeric
‘char(n)’
smallint
float
‘numeric[(p[,s])]’
‘nvarchar(n)’
int
‘float(n)’
‘varbinary(n)’
ntext
‘varchar(n)’
‘nchar(n)’
EXEC sp_addtype bir, DATETIME, 'NULL'
или
EXEC sp_addtype bir, DATETIME, ‘NOT NULL’
CREATE TABLE tab
(id_n INT IDENTITY(1,1) PRIMARY KEY,
names VARCHAR(40),
birthday BIR)
Удаление пользовательского типа данных происходит в результате выполнения процедуры sp_droptype type: EXEC sp_droptype 'bir'
Получить список всех типов данных, включая пользовательские, можно из системной таблицы systypes:
SELECT * FROM systypes
Нередко требуется конвертировать значения одного типа в значения другого. Наиболее часто выполняется конвертирование чисел в символьные данные и наоборот, для этого используется специализированная функция STR. Для выполнения других преобразований SQL Server предлагает универсальные функции CONVERT и CAST, с помощью которых значения одного типа преобразовываются в значения другого типа, если такие изменения вообще возможны. CONVERT и CAST примерно одинаковы и могут быть взаимозаменяемыми.
CAST(выражение AS тип_данных)
CONVERT(тип_данных[(длина)],
выражение [,стиль])
С помощью аргумента стиль можно управлять стилем представления значений следующих типов данных: дата/время, денежный или нецелочисленный.
DECLARE @d DATETIME
DECLARE @s CHAR(8)
SET @s=’29.10.01’
SET @d=CAST(@s AS DATETIME)
Наряду с типами данных основополагающими понятиями при работе с языком SQL в среде MS SQL Server являются выражения, операторы, переменные, управляющие конструкции.