Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/141: Рейтинг темы: голосов - 141, средняя оценка - 4.72
3 / 3 / 0
Регистрация: 22.06.2016
Сообщений: 61

Как вычислить возраст студента?

16.11.2016, 05:44. Показов 28297. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При помощи DATEDIFF
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.11.2016, 05:44
Ответы с готовыми решениями:

Запрос: вычислить средний возраст
Всем привет! Есть таблица на Microsoft SQL Server, в которой Имя, Фамилия и дата рождения, не могу создать запрос, что бы отобразить...

Словари: увеличить возраст конкретного студента на 1
Пусть список студентов представлен в виде структуры ,,]. Преобразуйте список в словарь вида: {№: , №:, №:} Увеличить возраст...

Вывести возраст студента и срок его обучения
Помогите пожалуйста, (Разработайте консольную прикладную программу, которая предлагает пользователю ввести с клавиатуры данные некоторого...

16
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
16.11.2016, 09:41
Ну и чего сложного DATEDIFF ( datepart , startdate , enddate )
Допустим возвраст в днях
SQL
1
DATEDIFF(DAY,'2008-06-05','2008-08-05')
Хочешь в годах пожалуйста
SQL
1
DATEDIFF(YEAR, '2012/04/28', '2014/04/28');
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
16.11.2016, 13:45
Цитата Сообщение от Игорь1986 Посмотреть сообщение
Хочешь в годах пожалуйста
T-SQL
1
DATEDIFF(YEAR, '2012/04/28', '2014/04/28'
А ничего, что 28-го месяца не бывает?
И какой получится возраст, если
T-SQL
1
DATEDIFF(YEAR, '20120428', '20140101'
?
0
3 / 3 / 0
Регистрация: 22.06.2016
Сообщений: 61
16.11.2016, 16:25  [ТС]
SQL
1
2
3
4
5
6
7
8
SELECT        TOP (100) PERCENT dbo.Faculties.Faculty, dbo.Specialties.Specialty, dbo.[GROUP].[GROUP], dbo.Students.Name, dbo.Nationalities.Nationality, dbo.Region.Region, dbo.Students.Age
FROM            dbo.Students INNER JOIN
                         dbo.Nationalities ON dbo.Students.Nationality = dbo.Nationalities.ID INNER JOIN
                         dbo.Region ON dbo.Students.Region = dbo.Region.ID INNER JOIN
                         dbo.[GROUP] ON dbo.Students.[GROUP] = dbo.[GROUP].ID INNER JOIN
                         dbo.Specialties ON dbo.[GROUP].Specialty = dbo.Specialties.ID INNER JOIN
                         dbo.Faculties ON dbo.Specialties.Faculty = dbo.Faculties.ID
ORDER BY dbo.Faculties.Faculty, dbo.Specialties.Specialty, dbo.[GROUP].[GROUP], dbo.Students.Name
Должен высчитывать из таблицы студенты, столбец DateBorn
0
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
16.11.2016, 16:45
Посмотри синтаксис пожалуйста, сначала идет год-месяц-число это первое, поэтому неправ ты
второе при такой записи возраст будет 2 года, так как произойдет округление до года, поэтому я и предложил в днях изначально, я привел пример а не то как сделать чтобы все красиво, что ТС надо будет то он и выберет)))

Добавлено через 2 минуты
dbo.Students.Age ты имел ввиду
Предположу DATEDIFF(yy,dbo.Students.Age,CURDATE()) AS DateBorn

Не по теме:


iap нафига было лезть в тему со своим огородом не разобравшись, считаешь себя умнее других

0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
16.11.2016, 16:46
Цитата Сообщение от Игорь1986 Посмотреть сообщение
Посмотри синтаксис пожалуйста, сначала идет год-месяц-число это первое, поэтому неправ ты
второе при такой записи возраст будет 2 года, так как произойдет округление до года, поэтому я и предложил в днях изначально, я привел пример а не то как сделать чтобы все красиво, что ТС надо будет то он и выберет)))

Добавлено через 2 минуты
dbo.Students.Age ты имел ввиду
Предположу DATEDIFF(yy,dbo.Students.Age,CURDATE()) AS DateBorn

Не по теме:


iap нафига было лезть в тему со своим огородом не разобравшись, считаешь себя умнее других

Надо не хамить, а учиться, умник!
А кто-то примет твою околесицу всерьёз.

Бекболот, конструкцию TOP(100) PERCENT ... ORDER BY MS SQL Server игнорирует.
В крайнем случае можно написать TOP(SELECT 100) PERCENT ... ORDER BY. Правда, непонятно, зачем.
0
3 / 3 / 0
Регистрация: 22.06.2016
Сообщений: 61
16.11.2016, 16:46  [ТС]
Данные о дате рождения в столбце DateBorn, возраст нужно вывести в столбце Age.
И ошибка вот такая выползает "Error in SELECT clause: expression near '('.
Missing FROM clause.
Unable to parse query text."
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
16.11.2016, 16:50
Цитата Сообщение от Бекболот Посмотреть сообщение
Данные о дате рождения в столбце DateBorn, возраст нужно вывести в столбце Age.
И ошибка вот такая выползает "Error in SELECT clause: expression near '('.
Missing FROM clause.
Unable to parse query text."
Ругается на скобки в конструкции TOP(100) ?
Их можно писать только начиная с версии SQL2005.
До этого - просто TOP 100.
Если версия SQL2000, то моё замечание про игнорирование 100% к этой версии не относилось.
0
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
16.11.2016, 16:50

Не по теме:


Самому тебе надо подучиться немного


DATEDIFF(yy,dbo.Students.DateBorn,CURDAT E()) AS Age
0
3 / 3 / 0
Регистрация: 22.06.2016
Сообщений: 61
16.11.2016, 17:14  [ТС]
У меня sql2014
и еще вот такая ошибка выползает "Incorrect sintax near 'yy' "
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
16.11.2016, 17:32
Цитата Сообщение от Игорь1986 Посмотреть сообщение
DATEDIFF(yy,dbo.Students.DateBorn,CURDAT E())
Поразмышляйте над результатом
T-SQL
1
2
select
 datediff(year, '20001115', '20161114');
0
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
16.11.2016, 20:59
И что 5 лет, вычисляет полные года
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
16.11.2016, 21:23
Цитата Сообщение от Игорь1986 Посмотреть сообщение
И что 5 лет, вычисляет полные года
Какие 5 лет? А что на самом деле вычисляет datediff, прочтите в документации.

Можно себе представить, что Игорю1986 заказали разработать ИС для военкомата.
В результате применения им авторской методики определения возраста призывников, весеннему призыву 2017 г. будут подлежать все, родившиеся в 1999 г., вне зависимости от дня и месяца рождения...
0
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
17.11.2016, 09:31
Хорошо давайте думать, может и я неправ,тогда может как то так
SQL
1
SELECT TIMESTAMPDIFF(YEAR,dbo.Students.DateBorn,curdate())
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
17.11.2016, 11:23
Игорь1986, разве мы о MySQL беседуем?
T-SQL
1
datediff(year, dbo.Students.DateBorn, getdate()) - case when datepart(dayofyear, dbo.Students.DateBorn) > datepart(dayofyear, getdate()) then 1 else 0 end
0
156 / 143 / 62
Регистрация: 08.09.2014
Сообщений: 1,220
17.11.2016, 11:42
Ну я хотел по другому
SQL
1
 DATEDIFF(YEAR,dbo.Students.DateBorn, GETDATE())+(SIGN(DATEDIFF(DAY,dbo.Students.DateBorn, DATEADD(YEAR, YEAR(dbo.Students.DateBorn)-YEAR(GETDATE()), GETDATE())))-1)/2;
0
3 / 3 / 0
Регистрация: 22.06.2016
Сообщений: 61
17.11.2016, 15:24  [ТС]
Спасибо , ребята. У меня получилось. Ошибка была в пропущенной запятой
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.11.2016, 15:24
Помогаю со студенческими работами здесь

Есть масса каждого студента группы. Вычислить среднюю массу студента в группе
Блок-схема и программа Есть масса каждого студента группы. Вычислить среднюю массу студента в группе! Нужно написать программу,...

Вывести на экран фамилию самого молодого студента и его возраст.
Помогите с задачами. 1.Дан текстовый файл, содержащий данные о студентах: фамилия студента, возраст. Вывести на экран фамилию самого...

Вывести на экран фамилию самого старшего студента и средний возраст для всех студентов
Создать файл, элементами которого являются сведения о студентах: фамилия, возраст, место проживания. Вывести на экран фамилию самого...

Для студентов 1 курсов - Курсовая (создать структуру, элементами которой являются фамилия студента и его возраст)
Написать программу, в которой необходимо создать структуру, элементами которой являются фамилия студента и его возраст. Объявить массив...

Как вычислить возраст по дате рождения
Здравствуйте, это снова я :curtsy: подскажите пож-ста, у меня нарисовалась проблемка, есть две формы Основная в ней подчиненная форма где...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru