Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

База данных / Презентации / 6_Язык запросов SQL

.pdf
Скачиваний:
49
Добавлен:
18.03.2015
Размер:
345.93 Кб
Скачать

Приближенные числовые типы

Тип REAL. Значения типа соответствуют числам с плавающей точкой одинарной точности. Точность определяется в реализации, но обычно совпадает с точностью одинарной плавающей арифметики.

Тип DOUBLE PRECISION. Точность значений этого типа определяется в реализации, но она должна быть больше точности типа REAL.

Тип FLOAT. Это параметризуемый тип, значение параметра p которого задает необходимую точность значений. Допустимый диапазон значений парамет-ра p определяется в реализации.

Операции с числовыми типами

+

-

*

/

аргументы в предикатах

пользовательские функции

mass*/((growth/100)*(growth/100))

Stud_ID

mass

growth

calculation

 

 

 

 

1

60

160

23,4375

2

90

187

25,73708

3

55

167

19,72104

Типы символьных строк

Тип CHARACTER (CHAR). Значениями типа являются символьные строки. Конкретный набор допустимых символов как правило, включает набор символов ASCII. При определении столбца допускается использование спецификаций CHARACTER (x) и просто CHARACTER.

После определения столбца типа CHARACTER (x) СУБД будет резервировать место для хранения x символов этого столбца во всех строках соответствующей таблицы.

Тип CHARACTER VARYING (VARCHAR). При определении столбца допускается использование спецификаций

CHARACTER VARYING (x) и просто CHARACTER

VARYING. Если в некоторой таблице определяется столбец типа CHARACTER VARYING (x), то в каждой строке этой таблицы значения данного столбца будут занимать ровно столько места, сколько требуется для сохранения соответствующей символьной строки.

Операции с символьными строками

Операция конкатенации (обозначается в виде «||») возвращает символьную строку, произведенную путем соединения строкоперандов в том порядке, в каком они заданы.

Функция выделения подстроки (SUBSTRING) принимает три аргумента – строку, номер начальной позиции и длину – и возвращает строку, выделенную из строки-аргумента в соответствии со значениями двух последних параметров.

Функция UPPER возвращает строку, в которой все строчные буквы строки-аргумента заменяются прописными. Функция LOWER, наоборот, заменяет в заданной строке все прописные буквы строчными.

Функция определения длины (CHARACTER_LENGTH,

OCTET_LENGTH, BIT_LENGTH) возвращает длину заданной символьной строки в символах, октетах или битах (в зависимости от вида вычисляющей функции) в виде целого числа.

Функция определения позиции (POSITION) определяет первую позицию в строке S, с которой в нее входит заданная строка S1 (если не входит, то возвращается значение нуль).

Примеры операций со строками

1.fName||Lname

2.substring (fName from 1 for 2)

3.upper(fName)

4.lower(fName)

5.length(LName)

6.Position(‘ва’,LName,)

7.‘Здравствуйте’

Stud_ID

fName

LName

 

 

 

1

Иван

Иванов

 

 

 

2

Петр

Петров

 

 

 

3

Вася

Сидоров

 

 

 

1

2

3

4

5

6

7

ИванИванов

Ив

иван ИВАН

6

2

Здравствуйте

ПетрПетров

Пе

петр ПЕТР

6

0

Здравствуйте

ВасяСидоров Ва

вася ВАСЯ

7

0

Здравствуйте

Типы даты и времени

Тип DATE. Значения этого типа состоят из компонентовзначений года, месяца и дня некоторой даты. Значение года состоит из четырех десятичных цифр и соответствует летоисчислению от Рождества Христова до 9999 г. Значение месяца состоит из двух десятичных цифр и варьируется от 01 до 12. Значение номера дня месяца состоит из двух десятичных цифр и варьируется от 01 до 31, хотя значение месяца даты может накладывать ограничения на возможность использования значений дня месяца 29, 30 и 31.

Тип TIME. Значения этого параметризованного типа состоят из компонентов-значений часа, минуты и секунды некоторого времени суток. Значение часа состоит из двух десятичных цифр и варьируется от 00 до 23. Значение минуты состоит из двух десятичных цифр и варьируется от 00 до 59. Основное значение секунды также состоит из двух цифр, но может включать дополнительные цифры, представляющие доли секунды.

Примеры операций с датой/временем

1.extract(year from date) {month, day, week, weekday}

2.extract(hour from time) {minute, second, millisecond}

3.dateadd(year, NNN, Date) {month, day, week}

4.datediff(year, DateOld, Date) {month, day, week}

5. date+10

1

2

3

2011

18

09.01.2012

2011

10

03.01.2012

2012

8

15.01.2012

Exam_ID

date

Time

 

 

 

1

31.12.2011

18:00

 

 

 

2

24.12.2011

10:30

 

 

 

3

05.01.2012

8:00

 

 

 

Булевский тип

Булевский тип состоит из трех значений: true, false и unknown (соответствующие литералы обозначаются

TRUE, FALSE и UNKNOWN)

Предикат условия

Предикаты сравнения { =, <>, >,<, >=,<= }, которые имеют традиционный смысл.

Предикат Between A and В — принимает значения между А и В. Предикат истинен, когда сравниваемое значение попадает в заданный диапазон, включая границы диапазона.

Предикат вхождения в множество IN (множество) истинен тогда, когда сравниваемое значение входит в множество заданных значений.

Предикаты сравнения с образцом LIKE <шаблон>. Предикат LIKE требует задания шаблона, с которым сравнивается заданное значение, предикат истинен, если сравниваемое значение соответствует шаблону, и ложен в противном случае.

символ подчеркивания (_) — для обозначения любого одиночного символа;

символ процента (%) для обозначения любой произвольной последовательности символов;

остальные символы, заданные в шаблоне, обозначают самих себя.

Предикат сравнения с неопределенным значением IS NULL.

Примеры предикатов

1.gruppa=333

2.birthday>=‘05.01.1993’

3.stud_id between 3 and 24

4.gruppa in (332, 333)

5.LName like ‘_ва%’

6.birthday is null

Stud_ID

fName

LName

birthday

gruppa

 

 

 

 

 

1

Иван

Иванов

31.12.1992

332

 

 

 

 

 

2

Петр

Петров

24.12.1993

333

 

 

 

 

 

3

Вася

Сидоров

null

444

 

 

 

 

 

Соседние файлы в папке Презентации