[mysql] 날짜와 함께보다 큼 연산자를 사용하는 방법은 무엇입니까?

여기서 무슨 일이 일어나고 있는지 전혀 모릅니다. 다음은 phpMyAdmin에서 바로 가져온 쿼리입니다.

SELECT * FROM `la_schedule` WHERE 'start_date' >'2012-11-18';

그러나 시작 날짜가 2012-11-01 인 레코드를 포함하여 테이블의 모든 레코드가 일관되게 반환됩니다. 무엇을 제공합니까?



답변

start_date작은 따옴표로 묶어서 문자열 이되었으므로 backtick대신 사용하십시오.

SELECT * FROM `la_schedule` WHERE `start_date` > '2012-11-18';

답변

문에서 start_date 라는 문자열을 시간과 비교 하고 있습니다.
경우 시작일은 열이, 그것이어야한다

 
  SELECT * FROM `la_schedule` WHERE start_date >'2012-11-18';
 

(아포스트로피 없음) 또는


SELECT * FROM `la_schedule` WHERE `start_date` >'2012-11-18';

(백틱 포함).

도움이 되었기를 바랍니다.


답변

이 시도.

SELECT * FROM la_schedule WHERE `start_date` > '2012-11-18';


답변

제 경우에는 칼럼이 모든 기록을 계속 제공하는 datetime이었습니다. 내가 한 일은 시간을 포함하는 것입니다. 아래 예를 참조하십시오.

SELECT * FROM my_table where start_date > '2011-01-01 01:01:01';


답변

나는 시도했지만 해결책 아래에서 발견 된 연구 후에는 작동하지 않았습니다.

SELECT * FROM my_table where DATE(start_date) > '2011-01-01';

Ref


답변