테스트 사이트 - 개발 중인 베타 버전입니다

mysql 날짜 조회 쿼리 질문 채택완료

아기새 6년 전 조회 3,441

==== 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개

채택된 답변
+20 포인트
Policia
6년 전

2019만 입력하면 숫자로만 인식합니다 날짜타입인줄 몰라요

 

SELECT * FROM table_name  WHERE date(bk_time) >= date('2019-01-01')

 

2019년 01월 01일 이후 날짜(2019~)를 검색하실려면 이런식으로하거나

 

날짜 범위안에서 검색하실려면

 

between date('시작날짜') and date('끝날짜')

 

이런식으로 검색해주시면됩니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

SELECT * FROM #table WHERE DATE_FORMAT(bk_time, '%Y') >= DATE_FORMAT(CURDATE(), '%Y')

부등호 방향이 반대가 아닐까 싶습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

유찬아빠

SELECT * 
FROM table_name 
WHERE suibstring(bk_time,1,4 ) <= ".date('Y')."

 

이렇게 하면 되지 않을까요?

 

bk_time 필드 앞자리 4자리가 2019 보다 작거나 같은 걸 쿼리하는 문구입니다.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인