Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Возраст человека
 
 автор: kail_braslovski   (08.01.2007 в 15:51)   письмо автору
 
 

В таблице MySQL как тип date стоят даты пользователей в виде (1986-12-10) (10 декабря 2006) нужен такой запрос, который быдет выдавать в результате вычисляемый столбец, содержащий возраст этого человека. Бьюсь третий день.... помогите

   
 
 автор: LuxeMate   (08.01.2007 в 16:06)   письмо автору
 
   для: kail_braslovski   (08.01.2007 в 15:51)
 

А это посредством MySQL вобще реально?
Тут наверное в самый раз timestamp))
Лучше зибивать дату как нибудь так (10 Dec 1986) (10 Dec 2006) и потом переводить обе в timestamp)) а дальше всё просто)

   
 
 автор: cheops   (08.01.2007 в 16:17)   письмо автору
 
   для: kail_braslovski   (08.01.2007 в 15:51)
 

Можно поступить следующим образом
mysql> SELECT (TO_DAYS(NOW()) - TO_DAYS('1986-12-10'))/365.25;
+-------------------------------------------------+
| (TO_DAYS(NOW()) - TO_DAYS('1986-12-10'))/365.25 |
+-------------------------------------------------+
|                                         20.0794 |
+-------------------------------------------------+

   
 
 автор: kail_braslovski   (09.01.2007 в 18:23)   письмо автору
 
   для: cheops   (08.01.2007 в 16:17)
 

Работает, но есть проблемы с переход через дату рождения...

   
 
 автор: AlexelA   (08.01.2007 в 16:19)   письмо автору
 
   для: kail_braslovski   (08.01.2007 в 15:51)
 

Попробуйте так:

SELECT TIMESTAMPDIFF(YEAR,<поле с датой рождения>,now()) as oldest FROM <имя таблицы>

   
 
 автор: kail_braslovski   (09.01.2007 в 18:20)   письмо автору
 
   для: AlexelA   (08.01.2007 в 16:19)
 

Ругается

#1064 - You have an error in your SQL 
syntax.  Check the manual that corresponds 
to your MySQL server version for the right 
syntax to use near '( YEAR , d_rozh , now(
 ) ) as oldest FROM anketa

[поправлено модератором]

   
 
 автор: AlexelA   (09.01.2007 в 20:31)   письмо автору
 
   для: kail_braslovski   (09.01.2007 в 18:20)
 

Какая у вас версия MySQL?
Данный запрос будет работать для версии выше 5.0.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования