이상한 문제가 있습니다. 데이터베이스에 만료일을 Varchar (캘린더 플러그인으로 인해)으로 저장했습니다. 이제 테이블의 만료 된 항목을 확인해야합니다. 그래서이 varchar (문자열)을 날짜 형식으로 변환 한 다음 현재 시간과 비교하기 위해이 SQL을 작성했습니다.MYSQL의 다른 데이터 유형의 날짜 비교
SELECT date_format(str_to_date(discountEndDT,'%m/%d/%Y'), '%m/%d/%Y') as dateSale
FROM tbl_salestemplate where date_format(str_to_date(discountEndDT,'%m/%d/%Y'),'%m/%d/%Y')>DATE_FORMAT(NOW(),'%m/%d/%Y')
지금이 날 결과 만 유효을 위해 사람들은 내가 그들이 오늘 날짜보다 큰 경우에도 반환되지 않습니다 2014 년 만료와 함께이 년 2013.The 날짜까지입니다 날짜를 제공합니다.
내가 뭘 잘못하고 있는지 잘 모르겠다. 모든 만료 날짜를 얻기 위해 독립 실행 형 쿼리를 실행하면 2014 년 만료 연도를 포함하여 모든 날짜가 예상대로 m/d/y
형식이됩니다. 독립 쿼리는 다음과 같습니다?
SELECT *FROM tbl_salestemplate Wheredate_format(str_to_date(discountEndDT,'%m/%d/%Y'), '%m/%d/%Y')
은 어디에서 실제로 잘못 어떤 하나 올바른을 할 수 하겠어?
감사합니다.
지금 또는 DATE (NOW()) 대신 CURDATE()를 시도하십시오 – Mihai