public function getStatementDay()
    {
        if (null === $this->n) {
            $this->n = 1;
        }

        $date = new \DateTime($this->d, new \DateTimeZone('UTC'));

        $date->sub(new \DateInterval(sprintf('P%dD', ($this->p * $this->n) - 1)));
        $start_date = $date->format('Y-m-j');

        $date->add(new \DateInterval(sprintf('P%dD', $this->n)));
        $end_date = $date->format('Y-m-j');

        if (is_array($this->select)) {
            $query = sprintf('%s WHERE %s BETWEEN %s AND %s', $this->select[0], $this->c, $start_date, $end_date);
            $adt = $this->sql->getAdapter();
            $statement = $adt->query($query, $adt::QUERY_MODE_PREPARE);
        } else {
            $select = clone $this->select;
            $select->where(new Between($this->c, $start_date, $end_date));

            $statement = $this->sql->prepareStatementForSqlObject($select);
        }

        return $statement;
    }