2015-06-15 2 views
-1

Я пытаюсь создать запрос, который вводит пользователя из текстового поля с именем $ invporation_date.PHP формат поиска по дате даты

Запрос Идея

$sql = "SELECT * FROM companies WHERE incorporation_date LIKE '%%%%/%%/%%" . $incorporation_date . "%%%%/%%/%%'"; 

Как бы сделать так, чтобы вы могли использовать SQL, чтобы вывести значения представленного формата вы вводите.

Пример поиска 2015-06-15

+3

Какой тип данных является вашим столбцом 'incporation_date'? Пожалуйста, не говорите, что это варчар! –

+0

Используйте знак равенства. ГГГГ-ММ-ДД – AsConfused

+0

Тип данных - это дата. –

ответ

1

Используйте Date или Datetime и избавить себя от горя, что в противном случае следовало бы, если бы не

drop table theGuy; 

create table theGuy 
(
    id int not null auto_increment primary key, 
    fullName varchar(60) not null, 
    birthDate date not null 
); 

insert theGuy (fullName,birthDate) values ('Kim Smithers','2002-3-1'),('John Doe','2014-4-5'); 

select * from theGuy where birthDate>='2000-1-1' and birthDate<='2007-12-31'; 

select * from theGuy where birthDate between '2000-1-1' and '2007-12-31'; 


select *,birthDate+interval 45 DAY as BirthCertAvail from theGuy; 

select *,datediff(curdate(),birthDate) as DaysAlive from theGuy; 

Вы можете найти встроенные подпрограммы адекватны, таких как интервалы, без необходимости их переписывать. ;)

+0

Прохладный вы используете datetime. Некоторые дурацкие доморощенные схемы и причудливость от некоторых поисков – AsConfused

+0

Чтобы получить дату из 'datetime', которая может содержать не ход в полночь в ней, используйте функцию date() – AsConfused

+0

, можете ли вы не найти его в пользовательском диапазоне дат? от пользовательского ввода –

Смежные вопросы