SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 24.01.2008 19:55:07

_Lok_
Участник
Зарегистрирован: 24.01.2008
Сообщений: 4

Вопрос на засыпку

MySQL запросы к таблице user_search:

SELECT COUNT(*) FROM user_search WHERE search_in = 1 AND ((birthday<=NOW()-INTERVAL 18 YEAR));
результат: 40850

SELECT COUNT(*) FROM user_search WHERE search_in = 1;
результат: 40951

SELECT COUNT(*) FROM user_search WHERE search_in = 1 AND (NOT(birthday<=NOW()-INTERVAL 18 YEAR));
результат: 0
Необходимо объяснить что содержиться в 40951-40850 рядах и почему они не попали не под первое, не под третье условие.

Может это как то с типами данных в MySQL связано?!

Неактивен

 

#2 24.01.2008 20:46:21

KOM_29
Участник
Зарегистрирован: 24.01.2008
Сообщений: 5

Re: Вопрос на засыпку

как ты можешь приметь NOT к дате?

для этого необходимо исправить старше

>>SELECT COUNT(*) FROM user_search WHERE search_in = 1 AND (birthday>NOW()-INTERVAL 18 YEAR);

Неактивен

 

#3 24.01.2008 21:42:34

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Вопрос на засыпку

Обсуждение далее в теме:
http://sqlinfo.ru/forum/viewtopic.php?pid=2491#p2491

Прошу не дублировать темы.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson