지난 1 일 동안 만 입력 된 행을 원합니다.MySQL에서 두 날짜 사이의 행을 반환하십시오.
나는 YYYY-MM-DD
을 저장하는 날짜 열을 가지고 있으며 사용자가이 형식으로보고 싶은 날짜를 보내도록 허용합니다. yyymmdd
어떻게이 데이터를 사용하여 전날에만 제한 할 수 있습니까?
나는 그것이 BETWEEN
키워드와 관련이 있다고 생각 하겠지만 그것을 이해할 수는 없다.
지난 1 일 동안 만 입력 된 행을 원합니다.MySQL에서 두 날짜 사이의 행을 반환하십시오.
나는 YYYY-MM-DD
을 저장하는 날짜 열을 가지고 있으며 사용자가이 형식으로보고 싶은 날짜를 보내도록 허용합니다. yyymmdd
어떻게이 데이터를 사용하여 전날에만 제한 할 수 있습니까?
나는 그것이 BETWEEN
키워드와 관련이 있다고 생각 하겠지만 그것을 이해할 수는 없다.
이 쿼리 :
SELECT *
FROM mytable
WHERE mydate >= STR_TO_DATE('110321', '%y%m%d') - INTERVAL 1 DAY
AND mydate < STR_TO_DATE('110321', '%y%m%d')
는 MySQL의 설명서에서 Mar 20, 2011
하지만 'STR_TO_DATE ('$ testDate ','% y % m % d ')'를 사용하면 문자열 '110321'을 사용하면이 기능이 작동하지만 $ testDate = $ _POST [ ' 날짜']; $ testDate = (string) $ testDate); $ testDate = YYYYMMDD의 형식 – nhunston
@Herly : 네 자리 연도 동안'% Y % m % d' (대문자'Y' 참고)을 사용하십시오. – Quassnoi
YYMMDD 대신 YYYMMDD를 사용했기 때문에 신경 쓰지 마라. 당신의 도움을 주셔서 감사합니다. – nhunston
SELECT * from TABLE_NAME WHERE ROW_DATE BETWEEN '2011-03-20' AND '2011-03-21'
이것은 '2011-03-21 00 : 00 : 00'에 대한 레코드도 반환합니다. – Quassnoi
에 대한 (here)를 모든 레코드를 반환은 :
SELECT something FROM tbl_name WHERE DATE_SUB(CURDATE(), INTERVAL 1 DAY) <= date_col;
SELECT * FROM YourTable WHERE date_column = DATE_ADD(CURDATE(), INTERVAL -1 DAY)
이 모든 행을 반환 에 어제.
이전 날 = 어제 또는 ('yyyymmdd' - 1 일)? – jgauffin