sourcecode

날짜보다 큰 연산자를 사용하는 방법

copyscript 2022. 11. 26. 08:45
반응형

날짜보다 큰 연산자를 사용하는 방법

여기서 무슨 일이 일어나고 있는지 모르겠다.다음은 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라는 문자열을 시각과 비교하고 있습니다.
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';

솔루션 아래에 있는 조사 결과, 저는 시도해 봤지만, 오히려 효과가 없었습니다.

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

참조

이것은 언급되지 않았기 때문에 이것을 추가한다.

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

왜냐면 그게 나한테 효과가 있거든두 비교 값에 date() 함수를 추가합니다.

내 경우 칼럼은 날짜마다 모든 기록을 계속 제공합니다.시간을 포함시킨 것입니다.아래 예를 참조해 주세요.

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

타임스탬프를 비교할 경우 다음을 시도해 보십시오.

select * from table where columnInTimestamp > ((UNIX_TIMESTAMP() * 1000) - (1*24*60*60*1000))

여기서 UNIX_TIMESTamp()는 현재 타임스탬프를 제공합니다.여기서 "12460601000"은 1일의 타임스탬프입니다.이것으로, 1일 또는 2일만에 작성된 데이터를 확인할 수 있습니다.

언급URL : https://stackoverflow.com/questions/13448340/how-to-use-greater-than-operator-with-date

반응형