|
|
|
| Есть таблица:
CREATE TABLE `j_vacancy` (
`id` int(11) NOT NULL auto_increment,
`userid` int(11) default '0',
`job_title` text NOT NULL,
`cat` int(1) NOT NULL default '0',
`gorod` int(1) NOT NULL default '0',
`sex` int(1) NOT NULL default '0',
`study` int(1) NOT NULL default '0',
`expwork` int(1) NOT NULL default '0',
`age_from` text NOT NULL,
`age_before` text NOT NULL,
`zp` text NOT NULL,
`graf` int(1) NOT NULL default '0',
`zan` int(1) NOT NULL default '0',
`text_vacancy` text NOT NULL,
`org` text NOT NULL,
`name` text NOT NULL,
`tel` text NOT NULL,
`email` text NOT NULL,
`show_email` int(1) default '0',
`who` int(1) NOT NULL default '0',
`period` text NOT NULL,
`date` text NOT NULL,
`style` text NOT NULL,
`status` int(1) default '0',
PRIMARY KEY (`id`),
KEY `cat` (`cat`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=107 ;
|
Колонка period - количество дней.
Формат даты (date) - 00.00.0000
Как мне выбрать все данные из нее, удовлетворяющие условию:
Время в данный момент больше времени из колонки date + period дней?
Спасибо. | |
|
|
|
|
|
|
|
для: kis-kis
(23.11.2006 в 18:46)
| | сперва было бы неплохо изменить тип колонки | |
|
|
|
|
|
|
|
для: Trianon
(23.11.2006 в 18:57)
| | Какой? Что посоветуете? | |
|
|
|
|
|
|
|
для: kis-kis
(23.11.2006 в 19:17)
| | подозреваю, что вот этой:
`date` text NOT NULL,
если ей сделать тип date, то с ним удобней будет работать.
PS а разве date не является зарезервированным словом? | |
|
|
|
|
|
|
|
для: elenaki
(23.11.2006 в 19:40)
| | Является.
Хорошо, пусть будет тип date, тогда как будет выглядеть условие? | |
|
|
|
|
|
|
|
для: elenaki
(23.11.2006 в 19:40)
| | является - поэтому обрамление его обратными косыми кавычками оправданно. | |
|
|
|
|
|
|
|
для: Trianon
(23.11.2006 в 20:11)
| | Никто не подскажет? | |
|
|
|
|
|
|
|
для: kis-kis
(24.11.2006 в 13:47)
| | Попробуйте такой запрос:
select * from j_vacancy
where curdate() > (date+period) | |
|
|
|
|
|
|
|
для: AlexelA
(24.11.2006 в 15:02)
| | Ошибка:
Error 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where curdate() > (date+period)' at line 1 | |
|
|
|
|
|
|
|
для: kis-kis
(24.11.2006 в 18:25)
| | А тип поля date какой: text или date? | |
|
|
|
|
|
|
|
для: AlexelA
(24.11.2006 в 21:54)
| | Можно сделать любой, с каким удобнее работать.
А так сейчас стоит text | |
|
|
|
|
|
|
|
для: kis-kis
(25.11.2006 в 17:41)
| | Поставьте тип date и используйте код, предлагавшийся ранее:
select * from j_vacancy
where curdate() > (date+period) | |
|
|
|
|
|
|
|
для: AlexelA
(25.11.2006 в 18:33)
| | Спасибо | |
|
|
|
|
|
|
|
для: kis-kis
(26.11.2006 в 17:27)
| | 0000-00-00 - формат даты по-умолчанию.
При неправильном вводе забивается именно он.
Для корректного ввода, забивайте дату так: гггг-мм-дд, где
гггг - год
мм - месяц
дд - день | |
|
|
|