like($this->functionBuilder->lower($x), $this->functionBuilder->lower($y), $type); } /** * @param mixed $column * @param mixed|null $type * @return array|IQueryFunction|string */ protected function prepareColumn($column, $type) { if ($type === IQueryBuilder::PARAM_DATE && !is_array($column) && !($column instanceof IParameter) && !($column instanceof ILiteral)) { return $this->castColumn($column, $type); } return parent::prepareColumn($column, $type); } /** * Returns a IQueryFunction that casts the column to the given type * * @param string $column * @param mixed $type One of IQueryBuilder::PARAM_* * @return IQueryFunction */ public function castColumn($column, $type): IQueryFunction { if ($type === IQueryBuilder::PARAM_DATE) { $column = $this->helper->quoteColumnName($column); return new QueryFunction('DATETIME(' . $column . ')'); } return parent::castColumn($column, $type); } }