dateTime
으로 데이터를 검색하도록 코딩하고 있습니다. 웹 양식에서 사용자 입력 값 2012-06-04
은 $_REQUEST['dateSearch']
에 저장됩니다. mySQL의 기본 datetime 형식
$dateObj = date_create_from_format("Y-m-d",$_REQUEST['dateSearch']);
$dateParam = $dateObj->format("Y-m");
은 그 때 나는
$sql = "
SELECT *
FROM `temp` as `t`
WHERE `t`.`date` LIKE '$dateParam%'
";
모든 것이 괜찮 데이터
을 찾기 위해 SQL 쿼리에$dateParam
를 사용하지만 MySQL은 항상 곁에 하나의
dateTime
형식
Y-m-d H:i:s
을 사용하여 확실하지 않다 : 그에서
dateTime
개체를 만듭니다. 여기에서
$dateParam = $dateObj->format("Y-m");
기본 형식을 "Y-m"으로 설정했습니다. 기본 형식이 변경되지 않습니까? 하드 코드 형식으로 설정하려면
Y-m-d H:i:s
대신 코드를 사용하는 것이 좋다고 생각합니다. 어떻게하면
dateTime
기본값 문자열을 mySQL에서 얻을 수 있습니까 ???
는 텍스트 값을 비교하여 검색하기 때문에 BTW, ''$ dateParam %의 'LIKE'매우 비효율적 인 검색 방법입니다. MySQL이 원래의 날짜 형식을 사용할 수 있기 때문에'THE YEAR (date) = 2012 AND MONTH (date) = 6'이 더 성능이 좋을 것입니다. – deceze