2014-01-30 6 views
0

m/d/yhh : mm (한 자릿수 월에 한 자릿수)로 설정된 몇 가지 필드가있는 보고서가 나타납니다. 앞으로 이러한 파일을 가져 오지 않을 것이므로 입력 파일을 변경하는 데 의존하지 않을 것입니다. mysql이 날짜 조회와 시간 기반 쿼리를 할 수 있도록 어떻게 그 형식으로 조정할 수 있습니까?MySQL에서 비표준 날짜 형식을 어떻게 처리합니까?

예 :

표 A -

EMPID 내가 위에서 설명한 날짜 필드로가 lastlogin 필드를 사용하여이 달에 로그인 한 직원을 검색하려면 어떻게

을가 lastlogin

?

+1

MySQL에는 날짜를 조작하기위한 [날짜 기능] (http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html)이 있습니다. –

+0

이 질문은 연구 노력을 보이지 않기 때문에 주제와 관련이없는 것처럼 보입니다. – Strawberry

+0

@Strawberry - 죄송합니다. 제가 시도한 5-6 가지를 나열하지 않았지만 관련성이 있다고 생각하지 않았습니다. 누군가 내 drivel을 읽기 전에 그것을 다루는 것이 도움이되지 않을 것입니다. 또한 이전에 사이트를 검색 한 결과이 사실을 알지 못했습니다. – blankip

답변

1

MySQL 기능 str_to_date()은 매우 유연합니다. MM/DD/YYYY 형식을 선호하는 것처럼 보이지만 M/D/YYYY와 호환됩니다.

그래서 당신은 할 수 있습니다 :

select a.* 
from a 
where str_to_date(lastlogin, '%m/%d/%Y') >= now() - interval 30 days; 

그러나, 당신은 문자열로 데이터베이스에 날짜를 저장하지 않아야합니다. 실제 date 또는 datetime 필드로 저장하는 것이 더 좋습니다. 데이터를로드 할 때 변환을 한 번 수행 한 다음 데이터에 대해 신경 쓸 필요가 없습니다.

관련 문제