СКЛ функције су уграђени програми који се користе за обављање различитих операција над базом података.
постоје два врсте функција у СКЛ-у:
- Агрегатне функције
- Скаларне функције
СКЛ агрегатне функције
СКЛ агрегатне функције оперишу са групом података и враћају сингуларни излаз. Углавном се користе са ГРОУП БИ клаузула за сумирање података.
Неке уобичајене агрегатне функције са синтаксом и описом приказане су у табели испод.
| Агрегатна функција | Опис | Синтакса |
|---|---|---|
| АВГ() | Израчунава просечну вредност | СЕЛЕЦТ АВГ(име_колоне) ИЗ име_табеле; |
| ЦОУНТ() | Броји број редова | СЕЛЕЦТ ЦОУНТ(име_колоне) ФРОМ табле_наме |
| ПРВИ() | Враћа прву вредност у уређеном скупу вредности | СЕЛЕЦТ ФИРСТ(име_колоне) ФРОМ име_табеле; |
| ПОСЛЕДЊА() | Враћа последњу вредност у уређеном скупу вредности | СЕЛЕЦТ ЛАСТ(име_колоне) ФРОМ име_табеле; |
| МАКС() | Преузима максималну вредност из колоне | СЕЛЕЦТ МАКС(име_колоне) ФРОМ име_табеле; |
| МИН() | Преузима минималну вредност из колоне | СЕЛЕЦТ МИН(име_колоне) ФРОМ име_табеле; |
| СУМ() | Израчунава укупан збир вредности у нумеричкој колони | СЕЛЕЦТ СУМ(име_колоне) ИЗ име_табеле; |
СКЛ скаларне функције
СКЛ скаларне функције су уграђене функције које раде на једној вредности и враћају једну вредност.
Скаларне функције у СКЛ-у помажу у ефикасној манипулацији подацима и поједностављивању сложених прорачуна у СКЛ упитима.
| Скаларна функција | Опис | Синтакса |
|---|---|---|
| УЦАСЕ() | Конвертује стринг у велика слова | СЕЛЕЦТ УЦАСЕ(име_колоне) ИЗ име_табеле; |
| ЛЦАСЕ() | Конвертује стринг у мала слова | СЕЛЕЦТ ЛЦАСЕ(име_колоне) ФРОМ име_табеле; |
| МИД() | Извлачи подниз из стринга | СЕЛЕЦТ МИД(почетна дужина имена колоне) ФРОМ име_табеле; |
| САМО() | Враћа дужину низа | СЕЛЕЦТ ЛЕН(име_колоне) ФРОМ име_табеле; |
| ОКРУГЛО() | Заокружује број на одређени број децимала | СЕЛЕЦТ РОУНД(име_колоне децимале) ФРОМ име_табеле; |
| САДА() | Враћа тренутни датум и време | СЕЛЕЦТ НОВ(); |
| ФОРМАТ() | Форматира вредност са наведеним форматом | СЕЛЕЦТ ФОРМАТ(формат имена_колоне) ФРОМ име_табеле; |
Примери СКЛ функција
Погледајмо неке примере СКЛ функција. Покрићемо примере СКЛ агрегатних функција и скаларних функција.
Извршићемо упите на датој СКЛ табели:
Примери агрегатних функција
Погледајмо примере сваке агрегатне функције у СКЛ-у.
Пример функције АВГ().
Израчунавање просечних оцена ученика.
упит:
SELECT AVG(MARKS) AS AvgMarks FROM Students;
Излаз:
| АвгМаркс |
| 80 |
Пример функције ЦОУНТ().
Израчунавање укупног броја ученика.
факторијел у в
упит:
линук команде креирају фасциклу
SELECT COUNT (*) AS NumStudents FROM Students;
Излаз:
| НумСтудентс |
| 5 |
Пример функције ФИРСТ().
Преузимање оцена првог ученика из табеле ученика.
упит:
SELECT FIRST (MARKS) AS MarksFirst FROM Students;
Излаз:
| МарксФирст |
| 90 |
ПОСЛЕДЊА() Пример функције
Преузимање оцена последњег ученика из табеле ученика.
упит:
SELECT LAST (MARKS) AS MarksLast FROM Students;
Излаз:
| МарксЛаст |
| 85 |
Пример функције МАКС().
Добијање максималних оцена међу ученицима из табеле Студенти.
упит:
SELECT MAX (MARKS) AS MaxMarks FROM Students;
Излаз :
| МакМаркс |
| 95 |
Пример функције МИН().
Добијање минималних оцена међу ученицима из табеле Студенти.
упит:
SELECT MIN (MARKS) AS MinMarks FROM Students;
Излаз :
| МинМаркс |
| 50 |
Пример функције СУМ().
Дохваћање збира укупних оцена међу ученицима из табеле ученика.
упит:
SELECT SUM(MARKS) AS TotalMarks FROM Students;Излаз :
| ТоталМаркс |
| 400 |
Примери скаларних функција
Погледајмо неке примере сваке скаларне функције у СКЛ-у.
Пример функције УЦАСЕ().
Претварање имена ученика из табеле Ученици у велика слова.
упит:
претраживач и примери
SELECT UCASE (NAME) FROM Students;
Излаз:
| НАМЕ |
| ХАРСХ |
| СУРЕСХ |
| ПРАКСИ |
| ДХАНРАЈ |
| РАМ |
Пример функције ЛЦАСЕ().
Претварање имена ученика из табеле Ученици у мала слова.
упит:
SELECT LCASE (NAME) FROM Students;
Излаз:
| НАМЕ |
| оштра |
| суресх |
| пракса |
| дханрај |
| рам |
Пример функције МИД().
Преузимање прва четири знака имена ученика из табеле Студенти.
упит:
хост линук
SELECT MID (NAME14) FROM Students; Излаз :
| НАМЕ |
| РЕСИН |
| СУРЕ |
| ПРАТ |
| СВЕ |
| РАМ |
Пример функције ЛЕН().
Дохваћање дужине имена ученика из табеле ученика.
упит:
SELECT LENGTH (NAME) FROM Students;
Излаз:
| НАМЕ |
| 5 |
| 6 |
| 6 |
| 7 |
| 3 |
Пример функције РОУНД().
Добијање максималних оцена међу ученицима из табеле Студенти.
упит:
SELECT ROUND (MARKS0) FROM Students;
Излаз :
| МАРКС |
| 90 |
| 50 |
| 80 |
| 95 |
| 85 |
Пример функције НОВ().
Преузимање тренутног системског времена.
упит:
SELECT NAME NOW() AS DateTime FROM Students ;
Излаз:
| НАМЕ | ДатеТиме |
| ХАРСХ | 13.1.2017 13:30:11 |
| СУРЕСХ | 13.1.2017 13:30:11 |
| ПРАКСИ | 13.1.2017 13:30:11 |
| ДХАНРАЈ | 13.1.2017 13:30:11 |
| РАМ | 13.1.2017 13:30:11 |
Пример функције ФОРМАТ().
Форматирање текућег датума као „ГГГГ-ММ-ДД“.
упит:
SELECT NAME FORMAT (Now()'YYYY-MM-DD') AS Date FROM Students;
Излаз:
| НАМЕ | Датум |
| ХАРСХ | 2017-01-13 |
| СУРЕСХ | 2017-01-13 |
| ПРАКСИ | 2017-01-13 |
| ДХАНРАЈ | 2017-01-13 |
| РАМ | 2017-01-13 |
Важне напомене о СКЛ функцијама
Креирај квиз
- СКЛ функције су уграђени програми који се користе за манипулацију подацима на различите начине.
- Постоје различите врсте СКЛ функција – агрегатне функције и скаларне функције.
- Агрегатне функције обављају прорачуне за групу вредности и враћају једну вредност. Пример СУМ АВГ ЦОУНТ.
- Скаларне функције раде на једној вредности и враћају једну вредност. Пример ГОРЊИ ДОЊИ ПОДНИЗ.
- СКЛ функције се могу користити у различитим СКЛ изразима као што су СЕЛЕЦТ ВХЕРЕ ГРОУП БИ и ОРДЕР БИ ради побољшања обраде и анализе података.