![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 11.02.2011
Сообщений: 69
|
![]()
Уважаемые программисты, помогите пожалуйсто.
Дело в том что нужно мне посчитать сколько лет человеку,т.е. Текущая дата (точнее год, это YEAR(GetDate())-дата рождения() проблема в том что в поле дата рождения формат записи 28.02.2012, а мне нужно извлечь только год, помогите как это сделать? |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
![]() Цитата:
Правильно поставленная задача - три четверти решения.
|
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 11.02.2011
Сообщений: 69
|
![]()
Спасибки тебе огромное, блин такая мелочь, а столько возилась, пробовала и через DateDiff, а все окозалось значительно проще спасибо тебе огромное
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ой, не всё так просто...
хотя, конечно, если плюс-минус один год не проблема - тогда всё просто! ![]() если дата рождения 31 декабря 2011 года, а текущая дата 1 января 2012 - так такой подход покажет 1 год (это неправильно) зато от 1 января 2011 года до 31 января 2011 года - разница 0 лет (что, кстати, правильно!) p.s. на форуме такие обсуждения/дискуссии были неоднократно. при желании легко найдёте эти темы. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 11.02.2011
Сообщений: 69
|
![]()
спасибо большое за помощь)
Последний раз редактировалось Gul'ka; 28.02.2012 в 12:34. |
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 11.02.2011
Сообщений: 69
|
![]() Цитата:
Мне нужно создать следующий запрос: через Case When Если [kVidObuch]=3 Or [kVidObuch]=4 OR [kVidObuch]=5 Then 1 затем пол (поле [kPol] если м=1 усли ж=0) если пол=1 то проверить (YEAR(GETDATE()) - YEAR(dbo.KADR.DataRojd))>50 Если да то 1 , затем если пол = 0 то (YEAR(GETDATE()) - YEAR(dbo.KADR.DataRojd))>45 если да, то 1 нет [molodSpec]=1 Then 1 Else (YEAR(GETDATE()) - YEAR(dbo.KADR.DataPriem))=1 Then 1 Else 0 End Все это далжно быть записанно в один Case When. |
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
![]()
вы наверное что-то путаете: конструкция
Код:
Правильно поставленная задача - три четверти решения.
|
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 11.02.2011
Сообщений: 69
|
![]() Цитата:
Если смежная профессия =3 То 1 Иначе проверяем дальше если пол мужской и ему больше 50 лет то 1 и если пол женский то и ей больше 45 то 1 иначе проверяем дальше, если молодой специалист то ставим 1 иначе проверяем, работает он меньше года То 1 Иначе 0. Вот такую мне нужно сделать запрос в сохраненой процедуре в ADP. |
|
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 11.02.2011
Сообщений: 69
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как извлечь данные в таблицу, если нужно посылать сразу множество запросов? | Novichok PHP | PHP | 1 | 28.03.2011 19:28 |
Дан файл, содержащий различные даты. Каждая дата – это число, месяц и год. Найти год с наименьшим номе | Figushkin | Помощь студентам | 2 | 04.06.2010 23:16 |
Год вместе... | NITRO2025 | Свободное общение | 14 | 23.01.2010 15:24 |
Год в автомате | valerij | Microsoft Office Excel | 2 | 04.01.2010 13:03 |
На год раньше | Askat | Общие вопросы Delphi | 1 | 22.08.2007 15:15 |