|
|
|
|
SELECT
data,DATE_SUB( DATE_FORMAT( NOW( ) , '%Y-%m-%d' ) , INTERVAL 14 YEAR )
FROM
`users`
WHERE
data >= DATE_SUB( DATE_FORMAT( NOW( ) , '%Y-%m-%d' ) , INTERVAL 14 YEAR )
|
Я это сделал так. Или можно как-то более правильно? | |
|
|
|
|
|
|
|
для: garold
(24.04.2010 в 18:04)
| | а что BETWEEN не канает? | |
|
|
|
|
|
|
|
для: Valick
(24.04.2010 в 18:07)
| | Я бы с интересом посмотрел бы как бы вы это с BETWEEN проделали | |
|
|
|
|
|
|
|
для: garold
(24.04.2010 в 18:11)
| |
SELECT date
FROM users
WHERE date
BETWEEN date - INTERVAL 14 YEAR AND NOW()
|
ну примерно так... | |
|
|
|
|
|
|
|
для: Valick
(24.04.2010 в 18:48)
| | У Вас написано если d-14<= d <= n
что математиками читается как (d-14 <= d ) and d <= n
левая скобка истинная по определению.
Результат WHERE date <= NOW()
Очевидно, это не то, что хотели Вы.
Однозначно - не то, что хочет тредстартер. | |
|
|
|
|
|
|
|
для: Trianon
(24.04.2010 в 19:50)
| | А мое решение правильно? | |
|
|
|
|
|
|
|
для: garold
(24.04.2010 в 20:00)
| | по-моему, у Вас там каша из функций
WHERE data >= NOW( ) - INTERVAL 14 YEAR
|
читается как-то попроще.
И да, никогда не называйте дату data
data - это данные . Совсем дрогое слово, во множественном числе. | |
|
|
|
|
|
|
|
для: Trianon
(24.04.2010 в 20:07)
| | Trianon,а можно задать отвлеченный от темы вопрос .функция NOW( ) привязана к серверу Sql ( часовому поясу нахождения сервера) или к клиенту (консоли, ПМА )? | |
|
|
|
|
|
|
|
для: oliss
(25.04.2010 в 02:02)
| | напрямую к серверу не привязано ничего.
опосредованно, через таймзону, которую клиент может поменять, - да, к серверным умалчиваемым установкам.. | |
|
|
|
|
|
|
|
для: Trianon
(24.04.2010 в 19:50)
| | BETWEEN NOW() - INTERVAL 14 YEAR AND NOW() | |
|
|
|
|
|
|
|
для: Valick
(24.04.2010 в 20:32)
| | левый операнд укажите, пожалуйста. А то вот так просто ,написанная строка - даже не выражение. | |
|
|
|
|
|
|
|
для: Trianon
(24.04.2010 в 21:06)
| |
<?php
include ("conect.php");
$start=15;
$end=10;
$query="SELECT *
FROM vdate
WHERE putdat
BETWEEN NOW()-INTERVAL $start YEAR AND NOW()-INTERVAL $end YEAR";
$res = mysql_query($query);
while ($mass=mysql_fetch_array($res)){
echo $mass[putdat]."<br />";
}
?>
|
Проверил и с DATETIME и с TIMESTAMP | |
|
|
|
|
|
|
|
для: Valick
(24.04.2010 в 22:54)
| | А автор темы хотел ограничить дату сверху? | |
|
|
|
|
|
|
|
для: Trianon
(25.04.2010 в 00:28)
| | Что значит сверху? | |
|
|
|
|
|
|
|
для: garold
(25.04.2010 в 13:46)
| | WHERE .... AND date <= $maxvalue | |
|
|
|
|
|
|
|
для: Trianon
(25.04.2010 в 00:28)
| | не спрашивайте как я догадался | |
|
|
|
|
|
|
|
для: Valick
(24.04.2010 в 22:54)
| | Если я хочу выбрать всех кому сейчас от 15 до 16 лет, соответсвенно $start = 16, $end = 15?
Что-то я запутался. | |
|
|
|
|
|
|
|
для: garold
(11.05.2010 в 13:23)
| | мой код уже не работает? | |
|
|
|
|
|
|
|
для: Valick
(11.05.2010 в 13:51)
| | В смысле? Да блин уже 2 ночь работю, голова туго идет, а тут еще после 9 мая.
Короче теперь нужно выбрать всех кому есть >=15 и <=16 | |
|
|
|
|
|
|
|
для: garold
(11.05.2010 в 14:09)
| | в прямом смысле...
подставте свои значения в код который я написал чуть выше и напишите что там не так | |
|
|
|
|
|
|
|
для: Valick
(11.05.2010 в 14:16)
| | ваш код как я понимаю должен вывести все тех кому от 10 до 15 лет? у меня получается так вроде | |
|
|
|
|
|
|
|
для: garold
(11.05.2010 в 15:39)
| | ну раз получается - значит должен :)) | |
|
|
|
|
|
|
|
для: Valick
(11.05.2010 в 15:46)
| | то ли ты стебаешься, то ли сам не знаешь))) | |
|
|
|
|
|
|
|
для: garold
(11.05.2010 в 16:33)
| | одно другому не мешает и абсолютно не взаимоисключает))) | |
|
|
|
|
|
|
|
для: garold
(11.05.2010 в 14:09)
| | Может есть смысл сделать перерыв? | |
|
|
|
|
|
|
|
для: Trianon
(11.05.2010 в 22:52)
| | Trianon, я бы с радостью, но от меня мало что зависит( | |
|
|
|
|
|
|
|
для: garold
(24.04.2010 в 18:04)
| | . | |
|
|
|