Работа с форматом даты

$lider

Бывает
Работа с форматом даты

Добрый день.
Есть поле `sorter` формат:
PHP:
$date=mktime(0,0,0,date("06"),date("11"),date("2008"));
  -> 1213131600
Выборкой пытаюсь указать некий диапазон:
[SQL]
SELECT * from `table` where `sorter`<=UNIX_TIMESTAMP(STR_TO_DATE('06.11.2008', '%m.%d.%Y') + INTERVAL 31 DAY) OR `sorter`>=UNIX_TIMESTAMP(STR_TO_DATE('06.11.2008', '%m.%d.%Y') - INTERVAL 31 DAY)
[/SQL]

Где грабли?
 

Фанат

oncle terrible
Команда форума
проверь, что выдает каждая из используемых тобой функций
 

$lider

Бывает
Ну если по хелпу:
PHP:
mysql> SELECT STR_TO_DATE('04/31/2004', '%m/%d/%Y');
        -> '2004-04-31'

mysql> SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
        -> 1196440219

p.s. а как посмотреть что возвращает MySQL функция не знаю. Стыдно. Подскажите.
 

Фанат

oncle terrible
Команда форума
какая еще mysql функция?
и при чем здесь строчки из хелпа? у тебя в запросе эти строчки что ли?
 

$lider

Бывает
Делаю запрос:
SELECT * FROM `table` WHERE `sorter` = UNIX_TIMESTAMP(STR_TO_DATE('06.11.2008', '%m.%d.%Y'))

В базе есть запись `sorter`=1213131600
Я понимаю что UNIX_TIMESTAMP(STR_TO_DATE('06.11.2008', '%m.%d.%Y')) должно приравниваться к 1213131600

Результат: MySQL вернула пустой результат (т.е. ноль строк)
 

Фанат

oncle terrible
Команда форума
ты только что процитировал пример из хелпа. готовый пример.
пример того, как проверяют, что возвращает функция
почему ты не можешь свою туда подставить - загадка.
 

$lider

Бывает
SELECT UNIX_TIMESTAMP( '06.11.2008' )
-> 1213128000

Странно...
м...
разница в 3600...
может это секунды...
тогда 3600/60/60 получим час...
и как это можно использовать...
Может добавить??
select UNIX_TIMESTAMP(STR_TO_DATE('06.11.2008', '%m.%d.%Y'
) + INTERVAL 1
HOUR)
-> 1213131600

Ну вроде работает...
Рою дальше...
 
Сверху