Szerzodes
이라는 이름의 교리 엔티티와 exportalva
이라는 날짜/시간 필드가 있습니다. 어떻게 든 exportalva
필드의 날짜 부분이 주어진 값인 레코드를 얻을 수 있습니까? 예를 들어, 시간에 관계없이 주어진 날짜에 수출 된 기록을 가져오고 싶습니다. 나는 시도했다.Doctrine 2 - 날짜/시간 필드의 날짜 부분에 의한 결과 필터링
$em->createQuery("SELECT sz FROM Szerzodes sz WHERE DATE(sz.exportalva) = '2012-05-17'")
그러나 DATE()는 DQL의 알려진 함수가 아니므로 실패했다. 지금은 일시적으로
$em->createQuery("SELECT sz FROM Szerzodes sz WHERE sz.exportalva LIKE '2012-05-17%'")
를 사용하지만 나를 위해 못생긴 해킹 것 같다. 이 작업을 수행하는 더 좋은 방법이 있습니까?
MySQL, PostgreSQL 및 SQLite3에는 DATE() 함수가 있습니다. MSSQL과 Oracle을 테스트 할 수있는 권한이 없으므로 왜 DQL에 구현되지 않았습니까? 이 사이의 물건은 이전의 LIKE 것보다 나에게 더 좋을 것 같습니다. 이전의 DATE() 아이디어보다 나을 것 같습니다. – GergelyPolonkai
판단하기가 순진 할 지 모르지만 시간대 문제와 관련하여 많은 문제가 있습니다. SQL은 이것을 표준적인 방식으로 처리하지 못한다. 무시해도 큰 문제가 될 것이다 ... –
국제 프로젝트에서 나는 경고 해 주셔서 감사하지만,이 경우에는 문제가되지 않을 것이다. – GergelyPolonkai