Список форумов BOSSForum.RU - Форум. БОСС-Кадровик
Независимый форум, посвященный системе БОСС-Кадровик
и всему, что с ней связано
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Cредний возраст сотрудников по подразделениям

 
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык
Предыдущая тема :: Следующая тема  
Автор Сообщение
zeha_t



Зарегистрирован: 30.03.2012
Сообщения: 25

СообщениеДобавлено: Ср Апр 25, 2012 10:21    Заголовок сообщения: Cредний возраст сотрудников по подразделениям Ответить с цитатой

Всем Добрый День!

Ребят подскажите как подсчитать средний возраст сотрудников, что-то я в растеренности... Embarassed
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mike
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 07.04.2011
Сообщения: 255

СообщениеДобавлено: Ср Апр 25, 2012 10:26    Заголовок сообщения: Ответить с цитатой

Вроде бы вот эта функция считает возраст
dbo.prfn_age(дата рождения, дата_на_кот_нужно_посчитать_возраст)

А функция t-sql avg() - вернет вам среднее арифметическое значение возрастов
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
zeha_t



Зарегистрирован: 30.03.2012
Сообщения: 25

СообщениеДобавлено: Ср Апр 25, 2012 13:15    Заголовок сообщения: Ответить с цитатой

Mike писал(а):
Вроде бы вот эта функция считает возраст
dbo.prfn_age(дата рождения, дата_на_кот_нужно_посчитать_возраст)

А функция t-sql avg() - вернет вам среднее арифметическое значение возрастов


Проблема в том что код этой процедуры я не могу найти, так то я знаю что есть такая поцедура и потом AVG-ом я выведу среднее, ща буду ещё внимательнее смотреть )
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mike
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 07.04.2011
Сообщения: 255

СообщениеДобавлено: Ср Апр 25, 2012 14:04    Заголовок сообщения: Ответить с цитатой

Код:
USE [Lite]
GO
/****** Object:  UserDefinedFunction [dbo].[prfn_age]    Script Date: 04/25/2012 13:59:01 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--возвращает возраст на дату @cur_dt, день рождения @birth_dt
ALTER FUNCTION [dbo].[prfn_age] (@birth_dt datetime   ,@cur_dt datetime) 
RETURNS integer
 AS 
BEGIN
 declare  @age int

 select @age =
   datediff(year, @birth_dt, @cur_dt) -
     (case
      when month(@birth_dt) - month(@cur_dt) < 0 then 0
      when month(@birth_dt) - month(@cur_dt) > 0 then 1
      when day(@birth_dt) - day(@cur_dt) > 0 then 1
      else 0
      end)
 if  (isnull(@age, 0) <= 0) select @age = 0
 RETURN @age
END

вот такая функция
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
zeha_t



Зарегистрирован: 30.03.2012
Сообщения: 25

СообщениеДобавлено: Ср Апр 25, 2012 14:11    Заголовок сообщения: Ответить с цитатой

спасиб. Будем разбираться дальше...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык Часовой пояс: GMT + 4
Страница 1 из 1

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


Pоwerеd by рhpВB © 2001, 2005 рhpВB Grouр
Русская поддержка phрВB
Rambler's Top100 Рейтинг@Mail.ru Список форумов BOSSForum.RU