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)
我不使用symfony3;但是,這樣的錯誤消息表明您使用了無效的格式掩碼。例如:to_date('2017/12/27','dd.mm.yyyy')會引發該錯誤。您應該使用to_date('2017/12/27','yyyy/mm/dd')。現在,我不知道如何在代碼中使用它(也許它與「first」和「last」有關)? – Littlefoot
我假設symfony像Littlefoot所說的那樣正確地傳遞數據類型。那麼,u.dat是約會嗎? symfony中'$ first'和'$ last'的日期是?如果不是,那麼您正在做一個隱式轉換,並依賴於您的NLS_DATE_FORMAT,您不應該這樣做,因爲它會根據客戶端的情況進行更改。 – Ben
Ben,** u.date **在日期TYPE中。 ** $ first **和** $ last **,我用datetime()聲明它, –