Слайд 2
Числовые типы
Tочные числовые типы
К категории точных числовых типов
в SQL относятся те типы, значения которых точно представляют
числа. Типы данных этой категории распадаются на две части: целые типы ( INTEGER и SMALLINT ) и типы, допускающие наличие дробной части ( NUMERIC и DECIMAL ).
целочисленные:
tinyint 0-255,
smallint (от -32 768 до 32 767),
int (от -2,147,483,648 до 2,147,483,647) и
bigint (от -2^63 до 2^63 );
десятичные: decimal и numeric (это - два названия одного и того же типа);
денежные: money (от -2^63 до 2^63 - с точностью 4 знака после запятой) и smallmoney (от -214748.3648 до +214748.3647).;
с плавающей запятой: float (от -1.79E + 308 до 1.79E + 308) и real (от -3.40E + 38 до 3.40E + 38).
Слайд 3
с плавающей запятой:
float (от -1.79E + 308
до 1.79E + 308) и real (от -3.40E +
38 до 3.40E + 38
Слайд 4
DECIMAL [(точность[,масштаб])] Параметр точность указывает максимальное количество цифр
вводимых данных этого типа (до и после десятичной точки
в сумме), а параметр масштаб – максимальное количество цифр, расположенных после десятичной точки.
Слайд 5
Строковые типы
В SQL Server предусмотрены две дублирующих разновидности
полей для представления текстовых данных:
поля Unicode и не-Unicode.
Unicode - типы данных начинаются символом n (от слова national, то есть с поддержкой национальных символов).
Слайд 6
Всего в SQL Server предусмотрены следующие типы для
текстовых данных:
∙ char/nchar - строковые данные фиксированной длины;
∙ varchar/nvarchar
- строковые данные переменной длины.
Слайд 7
При использовании типа Char значения длиной короче заданной
дополняются пробелами до указанной длины. Максимальное значение длины –
8000 символов.
При использовании типа VarChar значения длиной короче заданной не дополняются пробелами.
Слайд 8
Если необходимо ввести значения большой длины можно использовать
ключевое слово мах, что позволяет определять столбцы до 231
байтов.
varchar(max).
Слайд 9
datetime (8 байт, точность до 3,33 миллисекунд);
smalldatetime
(4 байта, точность до минуты).
В большинстве приложений вполне
хватает smalldatetime;
Слайд 10
Тип данных UNIQUEIDENTIFIER используется для хранения глобальных уникальных
идентификационных номеров.
Слайд 11
SQL_VARIANT -
Служит для хранения значений разных типов
одновременно, таких как числовые значения, строки и даты.
Объявлять
тип столбца как SQL_VARIANT следует только в том случае, если это действительно необходимо. Например, если столбец предназначается для хранения значений разных типов данных или если при создании таблицы тип данных, которые будут храниться в данном столбце, неизвестен.
Слайд 12
Логический тип данных - хранит значения вида true/false
(единица/ноль).
В SQL Server он представлен типом данных boolean.
Слайд 13
DATEDIFF ( datepart , startdate , enddate
)─ возвращает интервал времени, прошедшего между двумя временными отметками
- startdate (начальная отметка) и enddate (конечная отметка). Этот интервал может быть измерен в разных единицах. Возможные варианты определяются аргументом datepart
Слайд 14
DATEPART ( datepart , date ) ─
возвращает целое
число, представляющее
собой указанную аргументом datepart
часть заданной вторым аргументом
даты
Слайд 15
В ряде случаев функцию DATEPART можно заменить более
простыми функциями.
DAY ( date ) - целочисленное представление
дня указанной даты. Эта функция эквивалентна функции DATEPART(dd, date).
MONTH ( date ) - целочисленное представление месяца указанной даты. Эта функция эквивалентна функции DATEPART(mm, date).
YEAR ( date ) - целочисленное представление года указанной даты. Эта функция эквивалентна функции DATEPART(yy, date).
Слайд 16
Примеры:
DATEPART(dd, '01.01.2016’) – возвращает день месяца (число)
для указанной даты
такой же результат будет получен
с помощью функции DAY
DAY('01.01.2016’)
Слайд 17
Найти разность дат в днях между датой
отъезда
time_out и датой приезда time_in
Слайд 18
DATEADD (datepart, number , date )
Возвращает новое значение
datetime, добавляя интервал к указанной части datepart заданной даты
date.
Слайд 19
Пользовательские типы данных.
Могут использоваться при определении какого-либо
специфического или часто употребляемого формата.
Создание пользовательского типа данных осуществляется
выполнением системной процедуры:
sp_addtype [@typename=]type,[@phystype=] system_data_type [,[@nulltype=]’null_type’]
Слайд 20
EXEC sp_addtype dt, DATETIME, 'NULL'
Удаление пользовательского типа
данных происходит в результате выполнения процедуры sp_droptype type
Пример:
EXEC
sp_droptype 'dt‘
http://www.intuit.ru/studies/courses/5/5/lecture/124?page=2
Слайд 21
CREATE TYPE SSN
FROM varchar(10) NOT NULL ;
Слайд 22
Преобразование типов
Для выполнения преобразований SQL Server содержит функции
CONVERT и CAST, с помощью которых значения одного типа
преобразовываются в значения другого типа, если такие изменения вообще возможны.
CONVERT и CAST могут быть взаимозаменяемыми.
CAST(выражение AS тип_данных)
CONVERT(тип_данных[(длина)], выражение)
Слайд 23
Пример:
SELECT ‘сегодня ‘ + CONVERT(VARCHAR(11),GETDATE())
CAST('1977.01.07‘ AS Datetime)
Слайд 24
Оновные функции
– поиск подстроки
CHARINDEX (expressionToFind ,expressionToSearch[ , start_location
] )
Пример. SELECT CHARINDEX ('морф', 'полиморфизм') – Возвращает 5
- вырезка
SUBSTRING ( expression ,start , length )
- REPLACE
заменяет указанную подстроку первого операнда строкой, заданной в качестве второго операнда.
REPLACE( expression , string_pattern , string_replacement )
-REVERSE
Возвращает строковое значение, где символы переставлены в обратном порядке справа налево.
- TRIM "отсекает" последовательности указанного символа в конце или начале заданной строки.
Слайд 25
Временные таблицы
Временные таблицы похожи на
обычные, однако они не предназначены для постоянного хранения данных.
Они создаются, удаляются и используются как обычные таблицы.
Имена временных таблиц должны начинаться с символов # или ##.
Временные таблицы удаляются при отключении пользователя от базы данных.
Временные таблицы используются так, как будто они входят в текущую базу данных, однако в действительности данные хранятся в TEMPDB.