2017-12-27 37 views
0

symfony3에서 날짜를 oracle 데이터베이스와 어떻게 비교합니까?symfony3에서 Oracle을 사용하여 날짜 사용

$q = $this->createQueryBuilder("u")->leftJoin("u.ru", "r") 
    ->leftJoin("u.emp", "e") 
    ->where("(r.a = 2 or r.a =4) and u.dat > :first and u.dat < :last and e.m=:m") 
    ->orderBy("r.id") 
    ->setParameter("matricule", $personne->getMatricule()) 
    ->setParameter("first", $first) 
    ->setParameter("last", $last); 
return $q->getQuery()->getResult(); 

하지만 작동하지 않습니다. 나는이 오류를 가지고

General error: 1861 OCIStmtExecute: ORA-01861: literal does not match format string (ext\pdo_oci\oci_statement.c:148)

+0

을 부어 활용 내가 symfony3를 사용하지 않는; 그러나 이러한 오류 메시지는 잘못된 형식 마스크를 사용했음을 나타냅니다. 예 : to_date ('2017/12/27', 'dd.mm.yyyy')는 오류를 발생시킵니다. 대신에 to_date ('2017/12/27', 'yyyy/mm/dd')를 사용해야합니다. 이제, 나는 당신의 코드에서 그것을 어떻게 사용할 지 모른다. (아마 "first"와 "last"와 관련이있다?). – Littlefoot

+0

저는 Littlefoot가 말한 것처럼 심포니가 데이터 유형을 올바르게 통과한다고 가정합니다. 그래서'u.dat'가 데이트입니까? symfony에서'$ first'와'$ last' 날짜가 있습니까? 그렇지 않다면 암시 적 변환을 수행하고 NLS_DATE_FORMAT에 의존해야합니다. 이는 클라이언트별로 변경되므로 안됩니다. – Ben

+0

Ben, ** u.date ** 날짜가 TYPE입니다. ** $ first ** 및 ** $ last **, datetime()으로 선언합니다. –

답변