Файл: SQL в вопросах и задачах.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 02.04.2021

Просмотров: 1527

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

36 

буд ет

 

в ыгляд еть

 

след ующ им

 

обра з ом

  

 

 

@@@@

Петров

 

Петр

$$$$$$ 

@@@@

Павлов

 

Андрей

$$$$ 

@@@@@

Лукин

 

Артем

$$$$$ 

… …

 

… …

 

А

 

з а п рос

 

SELECT

 

SUBSTR

(

NAME

1

1

|| 

.

 || 

SURNAME

CITY

LENGTH

(

CITY

)

 

       

FROM

 

STUDENT 

       

WHERE

 

KURS

 

IN

(

2

3, 4

AND

 

STIPEND

 

>

 

0

в ыд а ст

 

результа т

 

 

CITY

 

 

П

.

Петров

 

К урск

 

С

.

Сид оров

 

Москв а

 

О

.

За йцев а

  

Л ип ецк

 

А

.

Л укин

 

Воронеж

 

А

.

Петров

 

NULL

 

NULL

 

… …

 

… …

 

… …

 

2.3.6. 

Ф ункц ии

 

работ ы

 

с

 

числ ам и

 

 

ABS

 

 

а бсолютное

 

з на ч ение

 

 

ABS

(<

зна чи м о е

 

чи сло во е

 

в ы р а ж ени е

>) 

 

FLOOR

 

 

уреза ет

 

з на ч ение

 

ч исла

 

с

 

п ла в а ющ ей

 

точ кой

 

д о

 

на ибол ьшего

 

целого

не

 

п рев осход ящ его

 

з а д а нное

 

ч исло

  

FLOOR

(<

зна чи м о е

 

чи сло во е

 

в ы р а ж ени е

>) 

 

CEIL

 

 

са мое

 

ма лое

 

целое

которое

 

ра в но

 

или

 

больше

 

з а д а нного

 

ч исла

  

CEIL

(<

зна чи м о е

 

чи сло в о е

 

в ы р а ж ени е

>) 

 

Функция

 

округления

 

 

ROUND

 

ROUND

(<

зна чи м о е

 

чи сло во е

 

в ы р а ж ени е

>,<

т о чно ст ь

>)

 

а р гумент

 <

т о чно ст ь

з а д а ет

 

точ ность

 

округления

 (

см

пример

 

ниже

 

Функция

 

усеч ения

 

 

TRUNC

 

TRUNC

(<

зна чи м о е

 

чи сло во е

 

в ы р а ж ени е

>,<

т о чно ст ь

>)

 


background image

 

37 

 

Тригонометрич еские

 

функции

 

 

COS

,

 SIN

,

 TAN

 

COS

(<

зна чи м о е

 

чи сло во е

 

в ы р а ж ени е

>)

 

SIN

(<

зна чи м о е

 

чи сло во е

 

в ы р а ж ени е

>)

 

TAN

(<

зна чи м о е

 

чи сло во е

 

в ы р а ж ени е

>)

 

 

Г ип ерболич еские

 

функции

 

 

COSH

SINH

TANH

 

COSH

(<

зна чи м о е

 

чи сло в о е

 

в ы р а ж ени е

>)

 

SINH

(<

зна чи м о е

 

чи сло в о е

 

в ы р а ж ени е

>)

 

TANH

(<

зна чи м о е

 

чи сло в о е

 

в ы р а ж ени е

>)

 

 

Э ксп оненциа льна я

 

функция

 

 

(EXP)

 

EXP

(<

зна чи м о е

 

чи сло во е

 

в ы р а ж ени е

>)

 

 

Л ога р ифмич еские

 

функции

 

 

(LN

,

 LOG) 

LN

(<

зна чи м о е

 

чи сло в о е

 

в ы р а ж ени е

>)

 

LOG

(<

зна чи м о е

 

чи сло во е

 

в ы р а ж ени е

>)

 

 

Функция

 

в оз в ед ения

 

в

 

степ ень

 

 

POWER

 

POWER

(<

зна чи м о е

 

чи сло во е

 

в ы р а ж ени е

>,<

экспо нент а

>) 

 

О п р ед еление

 

з на ка

 

ч исла

 

 

SIGN

 

SIGN

(<

зна чи м о е

 

чи сло в о е

 

в ы р а ж ени е

>)  

 

Выч исление

 

кв а д ратного

 

корня

 

 

SQRT

 

SQRT

(<

зна чи м о е

 

чи сло в о е

 

в ы р а ж ени е

>) 

П ример

За п рос

 

SELECT

 

UNIV

_

NAME

RATING

ROUND

(

RATING

-1

), 

TRUNC

(

RATING

-1

)

 

       

FROM

 

UNIVERSITY

Вернет

 

р езульта т

 


background image

 

38 

UNIV

_

NAME

 

RATING

 

 

 

М Г У

 

606 

610 

600 

ВГ У

 

296 

300 

290 

Н Г У

 

345 

350 

340 

РГ У

 

416 

420 

410 

Б Г У

 

326 

330 

320 

Т Г У

 

368 

370 

360 

ВГ МА

 

327 

330 

320 

… …

 

… …

 

… …

 

… …

 

 

 

2.3.7. 

Ф ункц ии

 

преобраз ования

 

з начений

 

 

Пр еобраз ов а ние

 

в

 

симв ольную

 

строку

 

 

TO_CHAR

 

TO

_

CHAR

(<

зна чи м о е

 

в ы р а ж ени е

>[,<

си м в о льны й

 

ф о р м а т

>]) 

o

 

<

зна чи м о е

 

в ы р а ж ени е

д олжно

 

п ред ста в лять

 

ч ислов ое

 

з на ч ение

 

или

 

з на ч ение

 

тип а

 

д а та

-

в ремя

o

 

д ля

 

ч ислов ых

 

з на ч ений

  <

си м в о льны й

 

ф о р м а т

д олжен

 

иметь

 

синта ксис

 

[S]9[9

][.9[9

]]

гд е

 

S

 

 

п ред ста в ление

 

з на ка

 

ч исла

  (

п ри

 

отсутств ии

 

п р ед п ола га ется

 

без

 

отобра жения

 

з на ка

), 

 

п ред ста в ление

 

цифр

-

з на ков

 

ч ислов ого

 

з на ч ения

  (

д ля

 

ка жд ого

 

з на коместа

). 

Симв ольный

 

форма т

 

оп ред еляет

 

в ид

 

отображения

 

ч исел

По

 

умолч а нию

 

д ля

 

ч ислов ых

 

з на ч ений

 

исп ользуется

 

форма т

 

'999999.99'

o

 

д ля

 

з на ч ений

 

тип а

 

Д АТ А

-

В РЕ МЯ

 <

си м в о льны й

 

ф о р м а т

имеет

 

в ид

 (

то

 

есть

 

в ид

 

отображения

 

з на ч ений

 

д а ты

 

и

 

в ремени

): 

 

в

 

ч а сти

 

д а ты

 

DD-Mon-YY

  

DD-Mon-YYYY

 

MM/DD/YY

 

MM/DD/YYYY

 

DD.MM.YY

 

DD.MM.YYYY

 

 

в

 

ч а сти

 

в ремени

 

HH24

 


background image

 

39 

HH24:MI

 

HH24:MI:SS

 

HH24:MI:SS.FF

 

гд е

Н Н

24

 - 

ч а сы

 

в

 

д иа п а з оне

 

от

 0 

д о

 24 

MI 

 

минуты

 

SS 

 

секунд ы

 

FF 

 

тики

 (

сотые

 

д оли

 

секунд ы

При

 

в ыв од е

 

в ремени

 

в

 

ка ч еств е

 

раз д елителя

 

п о

 

умолч а нию

 

исп ользуется

 

д в оеточ ие

 (

:

), 

но

 

п ри

 

жела нии

 

можно

 

исп ользов а ть

 

любой

 

д ругой

 

симв ол

Воз в ращ а емое

 

з на ч ение

 

 

симв ольное

 

п ред ста в ление

  <

зна чи м о го

 

в ы р а ж ени я

в

 

соотв етств ии

 

с

 

з а д а нным

  <

си м в о льны м

 

ф о р м а т о м

п реобраз ов а ния

 

Пр еобраз ов а ние

 

из

 

симв ольного

 

з на ч ения

 

в

 

ч ислов ое

 

 

TO

_

NUMBER

 

TO

_

NUMBER

(<

зна чи м о е

 

си м в о льно е

 

в ы р а ж ени е

>)

 

При

 

э том

  <

зна чи м о е

 

си м в о льно е

 

в ы р а ж ени е

д олжно

 

з а д а в а ть

 

симв ольное

 

з на ч ение

 

ч ислов ого

 

тип а

 

Пр еобраз ов а ние

 

симв ольной

 

строки

 

в

 

д а ту

 

 

TO

_

DATE

 

TO

_

DATE

(<

зна чи м о е

 

си м в о льно е

 

в ы р а ж ени е

> [,<

си м в о льны й

 

ф о р м а т

>])

 

o

 

<

зна чи м о е

 

си м в о льно е

 

в ы р а ж ени е

д олжно

 

з а д а в а ть

 

симв ольное

 

з на ч ение

 

тип а

 

Д АТ А

-

В Р Е МЯ

o

 

<

си м в о льны й

 

ф о р м а т

д олжен

 

оп исыв а ть

 

п ред ста в ление

 

з на ч ения

 

тип а

 

Д АТ А

-

В Р Е МЯ

 

в

 

<

зна чи м о м

 

си м в о льно м

 

в ы р а ж ени и

>. 

Д оп устимые

 

форма ты

  (

в

 

том

 

ч исле

 

и

 

фор ма т

 

п о

 

умолч а нию

п рив ед ены

 

в ыше

Воз в ращ а емое

 

з на ч ение

 

  <

зна чи м о е

 

си м в о льно е

 

в ы р а ж ени е

в о

 

в нутреннем

 

п р ед ста в лении

Т ип

 

в оз в ращ а емого

 

з на ч ения

 

 

DATE

О п ерации

 

на д

 

з на ч ениями

 

тип а

 

DATE

 

Н а д

 

з на ч ениями

 

тип а

 

DATE

  

раз решены

 

след ующ ие

 

оп ер а ции

:  

o

 

бина р на я

 

оп ерация

 

сложения

o

 

бина р на я

 

оп ерация

 

в ыч ита ния


background image

 

40 

В

 

бина р ных

 

оп ера циях

 

од ин

 

из

 

оп ер а нд ов

   

д олжен

 

иметь

 

з на ч ение

 

отд ельного

 

э лемента

 

д а ты

только

 

год

или

 

только

 

месяц

или

 

только

 

д ень

.  

Н а п ример

п ри

 

д оба в лении

 

к

 

д а те

 

22.05.1998

 

п яти

 

лет

 

п олуч ится

   

д а та

 

22.05.2003

;  

п ри

 

д оба в лении

 

к

 

э той

 

же

 

д а те

 

д ев яти

 

месяцев

 

п олуч ится

 

д а та

 

22.02.1998

;  

п ри

 

д оба в лении

 

10-

ти

 

д ней

 

п олуч им

 

01.06.1998

.

  

При

 

сложении

 

д в ух

 

п олных

 

д а т

на п ример

22.05.1998

 

и

 

01.12.2000

 

рез ульта т

 

неп ред ска з уем

П ример

За п рос

 

SELECT

 

SURNAME

NAME

BIRTHDAY

,  

TO

_

CHAR

(

BIRTHDAY

DD-Mon-YYYY

), 

TO

_

CHAR

(

BIRTHDAY

DD.MM.YY

       

FROM

 

STUDENT

Вернет

 

р езульта т

 

SURNAME 

NAME 

BIRTHDAY 

 

 

Ив а нов

 

Ив а н

 

3/12/1982 

3-

д ек

-1982 

3.12.82 

Петров

 

Петр

 

1/12/1980 

1-

д ек

-1980 

1.12.80 

Сид оров

 

Ва д им

 

7/06/1979 

7-

июн

-1979 

7.06.79 

К уз нецов

 

Б орис

 

8/12/1981 

8-

д ек

-1981 

8.12.81 

Зайцев а

  

О льга

 

1/05/1981 

1-

ма й

-1981 

1.05.81 

Па в лов

 

А нд рей

 

5/11/1979 

5-

ноя

-1979 

5.11.79 

К отов

 

Па в ел

 

NULL

 

NULL

 

NULL

 

Л укин

 

А ртем

 

1/12/1981 

1-

д ек

1981 

1.12.81 

Петров

 

А нтон

 

5/08/1981 

5-

а в г

-1981 

5.08.81 

Б елкин

 

Ва д им

 

7/01/1980 

7-

янв

-1980 

7.01.80 

… …

 

… …

 

… …

 

… …

 

… …

 

  

Функция

 

CAST

 

яв ляется

 

сред ств ом

 

яв ного

 

п реобраз ов а ния

 

д а нных

 

из

 

од ного

 

тип а

 

в

 

д ругой

Синта ксис

 

э той

 

кома нд ы

 

имеет

 

в ид

 

CAST

 <

зна чи м о е

 

в ы р а ж ени е

AS

 <

т и п

 

д а нны х

 

<

зна чи м о е

 

в ы р а ж ени е

>   

д олжно

 

иметь

 

ч ислов ой

 

или

 

симв ольный

 

тип