8.8Kпросмотров
80.6%от подписчиков
28 августа 2025 г.
📷 ФотоScore: 9.6K
🌟 Считаем возраст человека правильно 🌟 Вы когда-нибудь задумывались, как правильно вычислить возраст человека в SQL? 🤔 Может показаться, что всё просто: возьмём текущий год, отнимем год рождения, и вуаля! Но ой, подстерегает соблазн ошибки! 😈 🚫 Неправильный подход: SELECT YEAR(NOW()) - YEAR('2003-07-03 14:10:26'); Проблема такого подхода в том, что он не учитывает был ли день рождения у данного человека в этом году или ещё нет. То есть, если на момент запроса уже наступило 3-е июля (07-03), то человек отпраздновал свой день рождения и ему уже 21 лет, иначе ему по-прежнему 20 года. Разница функций YEAR тут будет бесполезна — в обоих случаях она даст 21 лет. 🤔 Что же делать? Мы могли бы пойти по пути вычисления разницы в днях и деления на 365: SELECT FLOOR(DATEDIFF(NOW(), '2003-07-03 14:10:26') / 365); Это лучше, но всё же не совсем точно из-за наличия високосных годов. 📆 ✅ Правильный подход с TIMESTAMPDIFF: TIMESTAMPDIFF(YEAR, '2003-07-03 14:10:26', NOW()); Используя функцию TIMESTAMPDIFF, мы получаем точную разницу в годах между двумя датами, учитывая все нюансы календаря! 🎯 Так что, когда дело доходит до вычисления возраста, доверяйте TIMESTAMPDIFF — и ваши расчёты будут точны как никогда! 🚀💡
8.8K
просмотров
1248
символов
Да
эмодзи
Да
медиа

Другие посты @sqlacademyofficial

Все посты канала →