Forum Webscript.Ru
Общие => Базы данных => Тема начата: Greg от 12 Декабря 2005, 18:25:18
-
вот такая задача:
select count(*) from table_name where ...
вот после WHERE нужно определить условие, чтобы выделялись даты за сегодняшний день
Пробовал всяко - не выходит
Спасибо всем!
-
ещё такая фигня получается засовываю в базу дату в формате d.mY
Смотрю в поле - все нормально, в таком виде и хранится, начинаю выводить, получается странная перестановка: m.d.Y
кто знает, как это обойти?
есть конечно вариант такой: обработать строку вывода и переставить элементы... но может дело в другом..?
-
Greg:
Пробовал всяко - не выходит
Вместо того что бы гадать лучше взгляни в MAN
SELECT count(*) FROM tbl WHERE dt = NOW()
Смотрю в поле - все нормально, в таком виде и хранится, начинаю выводить, получается странная перестановка: m.d.Y
Для твоего случая разработчики MySQL специально придумали поле с форматом DATE(yyyy-mm-dd) пользуйся им.
-
for_i_0:
Для твоего случая разработчики MySQL
for_i_0
заголовок внимательней прочитай
for_i_0
SELECT count(*) FROM tbl WHERE dt = NOW()
там ещё и время хранится, поэтому не покатит - будет искать только те, что имеют и настоящее время
-
ну, что? никто ничего не знает?
а у меня ещё такая проблемка: в Interbase никак не хочет работать конструкция INTERVAL для прибавления определенного промежутка времени к существующей дате... ну ни в какую!
Может кто чем поможет?
-
А какой диалект и какой тип поля dt?
Подозреваю (в случае 3-его диалекта и TIMESTAMP), что требуется делать примерно так:
SELECT count(*) FROM atable WHERE CAST(dt AS DATE) = TODAY;
-
И какие проблемы с INTERVAL?
К TIMESTAMP можно прямо прибавлять числа (N, например), где целая часть N - количество дней, а дробная - количесво десятитысячных долей сек. в дне
-
И какие проблемы с INTERVAL?
К TIMESTAMP можно прямо прибавлять числа (N, например), где целая часть N - количество дней, а дробная - количесво десятитысячных долей сек. в дне
с этим уже разобрался, но спасибо всё равно
SELECT count(*) FROM atable WHERE CAST(dt AS DATE) = TODAY;
насколько я понял, вместо TODAY подставляем текущую дату, извлекая её средствами PHP. По крайней мере, этот вариант работает
-
select count(*) from table_name where date>\'13.01.2006\' and date<\'14.01.2006\'