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

  • Автор темы Автор темы $lider
  • Дата начала Дата начала

$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]

Где грабли?
 
проверь, что выдает каждая из используемых тобой функций
 
Ну если по хелпу:
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 функция не знаю. Стыдно. Подскажите.
 
какая еще mysql функция?
и при чем здесь строчки из хелпа? у тебя в запросе эти строчки что ли?
 
Делаю запрос:
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 вернула пустой результат (т.е. ноль строк)
 
ты только что процитировал пример из хелпа. готовый пример.
пример того, как проверяют, что возвращает функция
почему ты не можешь свою туда подставить - загадка.
 
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

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