public function getSqlWithParams($quotationChar = '<>'): string
    {
        if (($l = \mb_strlen($quotationChar)) > 1) {
            $quoteLeft  = \mb_substr($quotationChar, 0, $l / 2);
            $quoteRight = \mb_substr($quotationChar, $l / 2);
        } else {
            $quoteLeft = $quoteRight = $quotationChar;
        }
        $sql = $this->sql;

        foreach ($this->parameters as $k => $v) {
            $v = "{$quoteLeft}{$v}{$quoteRight}";

            if (! \is_numeric($k)) {
                $sql = \str_replace($k, $v, $sql);
            } else {
                $p   = \mb_strpos($sql, '?');
                $sql = \mb_substr($sql, 0, $p) . $v . \mb_substr($sql, $p + 1);
            }
        }

        return $sql;
    }