SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 27.03.2010 19:30:56

[MI_nor]
Участник
Зарегистрирован: 23.01.2010
Сообщений: 16

Сравнение даты

Здравствуйте, возникла следующая проблема. В таблице имеется поле data(формат гггг-мм-дд-чч-мм-сс), её небходимо сравнить с сегодняшней(формата гггг-мм-дд, допустим которая известна в переменной &today), и если событие уже прошло, записать в поле point той-же таблицы значение 1.
Возможно ли обновить всю таблицу одним запросом и сравнить даты просто например как "update table_name set point=1 when data<today"?

Неактивен

 

#2 27.03.2010 19:41:00

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Сравнение даты

update table_name set point=1 where data<today;

Неактивен

 

#3 27.03.2010 19:59:38

[MI_nor]
Участник
Зарегистрирован: 23.01.2010
Сообщений: 16

Re: Сравнение даты

К сожалению дата таким макаром не сравнивается smile

Неактивен

 

#4 27.03.2010 20:04:08

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Сравнение даты

?? Приведите ваш запрос после подстановки переменной.

Неактивен

 

#5 27.03.2010 20:13:40

[MI_nor]
Участник
Зарегистрирован: 23.01.2010
Сообщений: 16

Re: Сравнение даты

$today = date('Y-m-d');
$query = mysql_query("update Message66 set point=1 where finishdate<$today");

Неактивен

 

#6 27.03.2010 20:21:52

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Сравнение даты

И в чем выражается не сравнивается? У меня работает.

Неактивен

 

#7 27.03.2010 20:32:34

[MI_nor]
Участник
Зарегистрирован: 23.01.2010
Сообщений: 16

Re: Сравнение даты

ну к примеру запись с finishdate "2009-03-25 18:25:56" разве можно сравнить с "2010-03-27"? Время мы в расчет не берем?

Неактивен

 

#8 27.03.2010 20:35:29

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Сравнение даты

"2009-03-25 18:25:56" будет меньше.
"2010-03-27" эквивалентно "2010-03-27 00:00:00"

Неактивен

 

#9 28.03.2010 23:06:52

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Сравнение даты

А запрос Ваш не работает, потому что кавычки не поставили вокруг
$today. Если бы вывели текст ошибки — стало бы понятно сразу.

Неактивен

 

Board footer

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