mysql 날짜 조회 쿼리 질문
본문
==== bk_time ====
2018-03-15 05:29:16
2019-04-04 14:27:29
2019-03-15 01:34:16
================
데이터가 이렇게있으면
현재 년도(2019) 데이터 이상인것만 가져올려고하는데
쿼리가 잘못됬나요?
SELECT *
FROM table_name
WHERE DATE_FORMAT(bk_time, '%Y') <= date_format(curdate(), '%Y')
where DATE_FORMAT(bk_time, '%Y') <= 2019
인데
2019년이랑 같거나 큰거 가져오라는거 아닌가요?
답변 3
2019만 입력하면 숫자로만 인식합니다 날짜타입인줄 몰라요
SELECT * FROM table_name WHERE date(bk_time) >= date('2019-01-01')
2019년 01월 01일 이후 날짜(2019~)를 검색하실려면 이런식으로하거나
날짜 범위안에서 검색하실려면
between date('시작날짜') and date('끝날짜')
이런식으로 검색해주시면됩니다
SELECT *
FROM table_name
WHERE suibstring(bk_time,1,4 ) <= ".date('Y')."
이렇게 하면 되지 않을까요?
bk_time 필드 앞자리 4자리가 2019 보다 작거나 같은 걸 쿼리하는 문구입니다.
SELECT * FROM #table WHERE DATE_FORMAT(bk_time, '%Y') >= DATE_FORMAT(CURDATE(), '%Y')
부등호 방향이 반대가 아닐까 싶습니다.