Использование Single-Row функция для пользовательского вывода. Лекция 3

Содержание

Слайд 2

Цели

Знакомство с функциями различного типа, доступных в SQL
Использование числовых, символьных и функций

Цели Знакомство с функциями различного типа, доступных в SQL Использование числовых, символьных
для работы с датами в секции SELECT
Использование функций, для преобразования типов

Слайд 3

Функция SQL

Функция SQL

Слайд 4

Типы функций SQL

Типы функций SQL

Слайд 5

Single-Row функции

Манипулирование данными
Принимает несколько аргументов, возвращает единственное значение
Применяется к каждой возвращаемой строке
Возвращает

Single-Row функции Манипулирование данными Принимает несколько аргументов, возвращает единственное значение Применяется к
единственное значение для строки
Может изменять тип данных
Может быть вложенной
Принимает в качестве аргумента колонку или выражение

function_name [(arg1, arg2,...)]

Слайд 6

Single-Row функции

Single-Row функции

Слайд 7

Функции для символьного типа

Оперирование регистром
lower
upper
initcap

Оперирование содержимым
concat
concat_ws
substring | substr
length
position | strops
lpad | rpad
trim

Функции для символьного типа Оперирование регистром lower upper initcap Оперирование содержимым concat
| ltrim |rtrim
replace
repeat
reverse
format
left | right
starts_with

Слайд 8

Функции, для оперирования регистром

Функции, для оперирования регистром

Слайд 9

Функции для оперирования регистром

SELECT employee_id, last_name, department_id
FROM employees
WHERE last_name =

Функции для оперирования регистром SELECT employee_id, last_name, department_id FROM employees WHERE last_name
initcap('higgins');

SELECT employee_id, last_name, department_id
FROM employees
WHERE lower(last_name) = 'higgins';

Слайд 10

Функции для оперирования содержимым

Функции для оперирования содержимым

Слайд 11

SELECT employee_id,
first_name,
last_name,
concat(first_name, last_name) bad_name,
concat_ws(' ', first_name,

SELECT employee_id, first_name, last_name, concat(first_name, last_name) bad_name, concat_ws(' ', first_name, last_name) good_name,
last_name) good_name,
left(first_name, 2) as left_fn,
right(last_name, 3) as right_ln
FROM employees
WHERE job_id = 'SA_REP';

Функции для оперирования содержимым

Слайд 12

Функции для оперирования содержимым

Функции для оперирования содержимым

Слайд 13

Функции для оперирования содержимым

SELECT first_name,
last_name,
length(first_name) as len_fn,
job_id,
substring(job_id from

Функции для оперирования содержимым SELECT first_name, last_name, length(first_name) as len_fn, job_id, substring(job_id
4 for 3) as job_name,
starts_with(first_name, 'P') "Starts with 'P'?"
FROM employees
WHERE substr(job_id, 4) = 'REP';

Слайд 14

Функции для оперирования содержимым

Функции для оперирования содержимым

Слайд 15

Функции для оперирования содержимым

SELECT first_name,
last_name,
position('t' in first_name) as "Have t

Функции для оперирования содержимым SELECT first_name, last_name, position('t' in first_name) as "Have
?",
lpad(first_name, 10, '$') lpad_fn,
rpad(last_name, 10, '#') lpad_fn
FROM employees
WHERE strpos(job_id, 'REP') > 0

Слайд 16

Функции для оперирования содержимым

Функции для оперирования содержимым

Слайд 17

Функции для оперирования содержимым

SELECT first_name,
last_name,
trim('P' from first_name) as "Without P",

Функции для оперирования содержимым SELECT first_name, last_name, trim('P' from first_name) as "Without
ltrim(last_name, 'B') as "Without B",
rtrim(last_name, 'l') as "without l"
FROM employees
WHERE replace(job_id, 'SA_', '') = 'REP';

Слайд 18

Функции для оперирования содержимым

Функции для оперирования содержимым

Слайд 19

Функции для оперирования содержимым

SELECT
first_name,
last_name,
job_id,
repeat(job_id, 2) as double_job,

Функции для оперирования содержимым SELECT first_name, last_name, job_id, repeat(job_id, 2) as double_job,
reverse(job_id) as reverse_job,
format('Name: %1$s, Surname: %2$s', first_name, last_name) as fname
FROM employees WHERE replace(job_id, 'SA_', '') = 'REP';

Слайд 20

Числовые функции

Числовые функции

Слайд 21

Числовые функции

SELECT employee_id,
first_name,
salary,
abs(50000 - salary) as max_delta,
div(salary,

Числовые функции SELECT employee_id, first_name, salary, abs(50000 - salary) as max_delta, div(salary,
21) as div_day,
factorial(4) as fct
FROM employees
WHERE commission_pct is not null

Слайд 22

Числовые функции

Числовые функции

Слайд 23

Числовые функции

SELECT employee_id,
commission_pct,
sqrt(commission_pct) as square_root_bad,
round(sqrt(commission_pct)) as square_root_good,
power(commission_pct,

Числовые функции SELECT employee_id, commission_pct, sqrt(commission_pct) as square_root_bad, round(sqrt(commission_pct)) as square_root_good, power(commission_pct,
2) as comm_sq_bad,
trunc(power(commission_pct, 2)* 100) as comm_sq_good,
random() as rnd
FROM employees
WHERE commission_pct is not null

Слайд 24

Работа с датами

Дата хранится во внутреннем числовом формате, содержащим век, год, месяц,

Работа с датами Дата хранится во внутреннем числовом формате, содержащим век, год,
день, час, минуту, секунду.
Формат даты по умолчанию YYYY-MM-DD HH24:mi:ss
now() это функция, возвращающая:
Дату
Время

Слайд 25

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

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

Слайд 26

Операторы, применимые к датам

Операторы, применимые к датам

Слайд 27

Операторы, применимые к датам

Операторы, применимые к датам

Слайд 28

Операторы, применимые к датам

Операторы, применимые к датам

Слайд 29

Операторы, применимые к датам

Операторы, применимые к датам

Слайд 30

Операторы, применимые к датам

SELECT first_name,
hire_date,
hire_date + 7 as next_week,

Операторы, применимые к датам SELECT first_name, hire_date, hire_date + 7 as next_week,
hire_date - 7 as prev_week,
now()::date - hire_date as experience,
hire_date + interval '1 hour' as plus_hour,
hire_date - interval '1 hour' as minus_hour
FROM employees

Слайд 31

Функции, применимые к датам

Функции, применимые к датам
Имя файла: Использование-Single-Row-функция-для-пользовательского-вывода.-Лекция-3.pptx
Количество просмотров: 80
Количество скачиваний: 0