Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
sibex111 Member Откуда: Сообщений: 6 |
Сконструируйте запрос, возвращающий список сотрудников (таблица Employee) с указанием их EmployeeID, даты рождения (в формате dd.mm.yyyy) и возраста на сегодняшний день. Указание: для конвертирования значения одного типа в значение другого типа используется функция: CONVERT (тип, выражение [, стиль]). |
1 окт 18, 19:36 [21691788] Ответить | Цитировать Сообщить модератору |
Щукина Анна Member Откуда: Сообщений: 1507 |
sibex111, что именно непонятно? как пробовали? что не получилось? |
1 окт 18, 19:37 [21691793] Ответить | Цитировать Сообщить модератору |
Посетитель Member Откуда: Сообщений: 1210 |
готово |
||
1 окт 18, 21:38 [21691918] Ответить | Цитировать Сообщить модератору |
Lepsik Member Откуда: glubinka Сообщений: 4256 |
with Employee(employee_id, birthday) as ( select 1 as employee_id, dateadd(day, (abs(CHECKSUM(newid())) % 3650) * -1, getdate()) as birthday union all select Employee.employee_id + 1, dateadd(day, (abs(CHECKSUM(newid())) % 3650) * -1, getdate()) from Employee where Employee.employee_id < 10 ) select employee_id, CONVERT( varchar(10), birthday, 104) AS birthday , DATEDIFF(yy, birthday, getdate()) - CASE WHEN MONTH(birthday) > MONTH(GETDATE()) OR (MONTH(birthday) = MONTH(GETDATE()) AND DAY(birthday) > DAY(GETDATE())) THEN 1 ELSE 0 END from Employee |
1 окт 18, 23:18 [21691972] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |