Consulta Cliente

Bom dia.
Estou tentando pesquisa um cliente no banco de dados, mas esta me retornando este aviso de erro na consulta:

evento do botao pesquisa

private void jbPesquisaActionPerformed(java.awt.event.ActionEvent evt) {
// Pesquisa categoria pelo nome
String nome = “%” + jtfPesquisaCliente.getText() + “%”;
ClientesDao dao = new ClientesDao();
List lista = dao.buscaCliente(nome);
preencherTabela(“select codigo_cliente, nome, cpf, rg, to_char(data_nascimento, ‘DD/MM/YYYY’), endereco, num_endereco, complemento,”
+ " uf, cidade, bairro, celular, telefone, email from tb_clientes inner join tb_estados on (cod_estado = codigo_estado)"
+ " inner join tb_cidades on (cod_cidade = codigo_cidade) inner join tb_bairros on (cod_bairro = codigo_bairro)order by codigo_cliente");

}

dao do pesquisa

public List buscaCliente(String nome) {
try {
//criando a lista.
List lista = new ArrayList<>();
//comando sql para lista os dados.
String sql = “select codigo_cliente, nome, cpf, rg, to_char(data_nascimento, ‘DD/MM/YYYY’),”
+ " endereco, num_endereco, complemento, uf, cidade, bairro, celular, telefone, email from tb_clientes"
+ " inner join tb_estados on (cod_estado = codigo_estado) inner join tb_cidades on (cod_cidade = codigo_cidade)"
+ " inner join tb_bairros on (cod_bairro = codigo_bairro) where nome like ?";

        PreparedStatement stmt = con.prepareStatement(sql);
        stmt.setString(1, "%"+nome+"%");
        ResultSet rs = stmt.executeQuery();

        while (rs.next()) {
            Clientes obj = new Clientes();
            Estados e = new Estados();
            Cidades c = new Cidades();
            Bairros b = new Bairros();
            

            obj.setCodigo(rs.getInt("codigo_cliente"));
            obj.setNome(rs.getString("nome"));
            obj.setCpf(rs.getString("cpf"));
            obj.setRg(rs.getString("rg"));
            
            
            obj.setDataNascimento(rs.getDate("to_char"));
            obj.setEndereco(rs.getString("endereco"));
            obj.setNumEdereco(rs.getInt("num_endereco"));
            obj.setComplemento(rs.getString("complemento"));
            
            e.setEstado(rs.getString("uf"));
            obj.setEstados(e);
            
            c.setCidade(rs.getString("cidade"));
            obj.setCidade(c);
            
            b.setBairro(rs.getString("bairro"));
            obj.setBairro(b);
            
            obj.setCelular("celular");
            obj.setTelefone("telefone");
            obj.setEmail("email");

            lista.add(obj);
        }
        return lista;
    } catch (Exception erro) {
        JOptionPane.showMessageDialog(null, "Erro :" + erro);
        return null;
    }
}

Se estas a fazer um getDate, não deves converter para char na query, mas obter o campo diretamente da tabela.