«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как рассчитать разницу в возрасте в годах как целое число в MySQL?

Как рассчитать разницу в возрасте в годах как целое число в MySQL?

Опубликовано 23 декабря 2024 г.
Просматривать:998

 How to Calculate Age Difference in Years as an Integer in MySQL?

Вычисление разницы в возрасте в годах как целое число в MySQL

Определение возраста человека в базе данных представляет собой небольшую проблему при расчете возраста . Рассмотрим таблицу «student» со столбцами «id» и «birth_date».

Чтобы вычислить возраст в днях, можно использовать выражение dateiff(curdate(),birth_date), но оно возвращает значение с плавающей запятой. . Деление на 365 также дает значение с плавающей запятой.

Вычисление лет в виде год(curdate())-год(дата_рождения) также создает проблему. Например, если человек родился в июне 1970 года, а текущая дата — май, выражение ошибочно вернет 32 года вместо 31.

Альтернативное решение для целой разницы в годах:

Чтобы решить эту проблему, рассмотрите следующий оператор SQL:

SELECT TIMESTAMPDIFF(YEAR, date_of_birth, CURDATE()) AS difference FROM student

Это выражение вычисляет разницу между датой_рождения и CURDATE() в годах, в результате чего получается целое значение.

Расширение для месяцев и дней:

Чтобы посчитать разницу в месяцах, замените 'ГОД' с 'МЕСЯЦ' в выражении:

SELECT TIMESTAMPDIFF(MONTH, date_of_birth, CURDATE()) AS difference FROM student

Аналогично, для разницы в днях замените «ГОД» с «ДЕНЬ»:

SELECT TIMESTAMPDIFF(DAY, date_of_birth, CURDATE()) AS difference FROM student
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3