2015-02-02 2 views
0

나는 열 이름이 recpt_date이고 27-01-2015와 같은 날짜 열이 있습니다. 나는 그것이 작동하고colum mysql에서 날짜 검색

SELECT 
    re.recpt_no, re.regno, 
    re.recpt_date, 
    r.owner_name, r.own_add1, r.own_add2, 
    r.city, r.pin_code, re.total, 
    re.pay, re.bal, re.regn, 
    re.renew, re.vaccine, re.operation, 
    re.xray 
FROM 
    receipt re 
INNER JOIN 
    records r ON re.regno = r.regno 
WHERE 
    re.recpt_date BETWEEN '27-01-2015' AND '27-02-2015' 

내 쿼리가 그래서 일부터 현재까지 보고서를 생성 할,하지만 난 날로부터 기타를 변경하거나 경우 최신 날짜는 예를 들어

작동하지 않습니다 수단 01-01-2015 ~ 01-02-2015가 작동하지 않지만 ...이 날짜 사이에 날짜가 있습니다.

+2

당신은 recpt_date''에 대한 올바른 형식의 날짜 필드 ('YYYY-MM-DD')를 사용하여 WHERE 절에 같은 날짜 형식을 사용해야합니다. 왜? 그것 없이는 텍스트 문자열로 작업하기 때문에 '01-01-2015'와 '01-03-2015'사이에 '01-02-2014'와 같은 별난 행동이 분류됩니다. –

+0

예 (DD-MM-YYYY) 형식과 날짜 형식이 varchar..formateformate 날짜 데이터 형식을 변경해야합니다. – parthiban

+0

예. 그것은 좋은 첫 걸음이 될 것입니다. 먼저 update 문을 사용하여 모든 필드를 YYYY-MM-DD로 변경 한 다음 열 데이터 유형을 date로 변경하십시오. –

답변

0

올바른 날짜 유형으로 변환 할 때 문제가 발생했습니다. 맞습니까? 사용에게 다음과 같은 코드를 변환하기 위해 :

$myDate = '01-01-2015'; // dd-mm-yyyy 
$newDate = date('Y-m-d', strtotime($myDate)); // yyyy-mm-dd