2017-12-27 1 views
0

I 출발 데이터 테이블이 있습니다 dep_date 필드 대 Varchar
입니다MySQL의 검색 개월 VARCHAR 필드

dep_date 
10/01/2018 
21/02/2018 
14/03/2018 
25/04/2018 

가 어떻게 dep_date에 달 = 3을 검색 할 수 있습니까?

+4

저장 날짜, VARCHAR에하지. – panther

답변

4

그냥 like %/03/%을 사용하십시오.

또는 전체 라인은 다음과 같습니다

select * from table_name where dep_date like '%/03/%'; 
+0

감사합니다. – adi

+0

선생님, 언제나 환영합니다. – kiamoz

-2

난 당신이 데이터베이스 대신 VARCHAR에 저장 날짜 날짜 형식을 사용하는 것이 좋습니다 싶습니다.

시도 다음 명령을 날짜로 (날짜 형식으로)

Select * FROM departure WHERE MONTH(dep_date) = 3 

:

+0

'MONTH'는 문자열이 아닌 날짜 함수입니다. 나는'SELECT MONTH ('14/03/2018 ');을 시도하고'NULL'을 얻었다. 'SELECT MONTH (14/03/2018);'대신'0'을 산출했습니다. 그래서 나는 당신의 대답이 좋지 않다고 생각합니다. – cdaiga

+0

varchar의 MONTH가 작동하지 않습니다. – kiamoz

+0

잘못된 @kiamoz MONTH ([varchar_column])는 varchar 열의 형식이 유효한 MySQL 날짜 형식 인 경우 올바르게 작동합니다. http://www.sqlfiddle.com/#!9/095f2b/1 –