Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL Учебник.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.28 Mб
Скачать

Текстовые операции. Сцепление столбцов. Функции len, left

Определение:

Сцеплением столбцов, называется операция присоединения друг к другу данных различных столбцов и помещения результата в поле, указанное ключевым словом AS.

Операция сцепления столбцов указывается в операторе SELECT. Для сцепления используется знак "+".

Пример:

Из таблицы "Сотрудники", содержащей фамилию, имя и отчество в разных столбцах, необходимо получить поле, содержащие фамилию имя и отчество в одном поле.

Сотрудники Отчетная форма

Фамилия

Имя

Отчество

Лосев

Петр

Алексеевич

Бобров

Михаил

Петрович

Гарин

Петр

Иванович

ФИО

Лосев Петр Алексеевич

Бобров Михаил Петрович

Гарин Петр Иванович

Операция сцепления запишется следующим образом:

SELECT Фамилия +” “+ Имя +“ ”+ Отчество AS ФИО

FROM Сотрудники

Запись → Фамилия +” “ означает, что к полю, Фамилия присоединен невидимый символ пробела. Аналогично и со столбцом Имя.

Если убрать пробелы, и сцепить только имена столбцов, то результат сцепления будет выглядеть следующим образом:

AS - ключевое слово, означает, что информация трех сцепленных столбцов, будет помещена во временное поле с именем → ФИО. Имя поля ФИО, называется псевдонимом.

Функции

LEFT

возвращает указанное число символов с начала строки

LEN

возвращает длину строки

SELECT Фамилия +” “+ LEFT(Имя,1) +“.”+ LEFT(Отчество,1) +“.” AS ФИО

FROM Сотрудники

WHERE LEN(Фамилия)>5

ФИО

Бобров М.П.

Функции Даты

DATE() – возвращает текущую дату.

YEAR([Дата рождения]) -возвращает год

MONTH([Дата рождения]) -возвращает месяц

DAY([Дата рождения]) -возвращает день

Фамилия

Дата

Телефон

Русинов

26.02.1990

762-45-58

Родин

06.04.1993

789-62-43

Нокель

21.02.1992

362-26-55

Богомолов

13.04.1993

497-78-45

Фамилия

Дата

Русинов

26.02.1990

Родин

06.04.1993

Нокель

21.02.1992

Богомолов

13.04.1993

SELECT Фамилия, Дата

FROM Список

Фамилия

Expr1001

Русинов

1990

Родин

1993

Нокель

1992

Богомолов

1993

SELECT Фамилия, Year(Дата)

FROM Список

SELECT Фамилия, Year(Дата)

FROM Список

WHERE Year(Дата)=1993

Фамилия

Expr1001

Родин

1993

Богомолов

1993

SELECT Фамилия, (Date()-Дата)/365

FROM Список

Фамилия

Expr1001

Русинов

21,0301369863014

Родин

17,9205479452055

Нокель

19,0438356164384

Богомолов

17,9013698630137

SELECT Фамилия, (Date()-Дата)/365

FROM Список

WHERE (Date()-Дата)/365>=20

Фамилия

Expr1001

Русинов

21,0301369863014

SELECT Фамилия, (Date()-Дата)/365

FROM Список

WHERE (Date()-Дата)/365>=20

Фамилия

Expr1001

Русинов

21,0301369863014

SELECT Фамилия, MONTH(Дата)

FROM Список

WHERE MONTH(Дата)=2

Фамилия

Expr1001

Русинов

2

Нокель

2

SELECT Фамилия, MONTH(Дата)

FROM Список

WHERE MONTH(Дата)=2

Фамилия

Expr1001

Русинов

2

Нокель

2

SELECT Фамилия

SELECT Фамилия, Round((Date()-Дата)/365)

FROM Список

Фамилия

Expr1001

Русинов

21

Родин

18

Нокель

19

Богомолов

18

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]