Questão de Banco de Dados — PostgreSQL — VUNESP 2023
- Código
- vu196231
- Banca
- VUNESP
- Órgão
- Pref Sorocaba
- Ano
- 2023
- Cargo
- Tec ( )
- Ateste de comando
- Bteste decomando
- Cteste de comando
- Dteste de comando
- Eteste de comando
GabaritoB — teste decomando
Gabarito: letra B. No PostgreSQL, o operador || é o operador de concatenação de strings, que une o conteúdo das duas strings sem adicionar espaços entre elas. Assim, 'teste de' || 'comando' resulta em 'teste decomando'. A alternativa B é a única que apresenta exatamente essa sequência, sem espaços extras.
O operador || é um operador binário que concatena duas strings, produzindo uma nova string que é a junção da primeira com a segunda, na ordem em que aparecem. Ele não insere nenhum caractere separador — se você quiser um espaço entre as palavras, precisa incluí-lo explicitamente em uma das strings (por exemplo, 'teste de ' || 'comando' ou 'teste de' || ' comando').
No comando do enunciado, a primeira string é 'teste de' (termina com a letra 'e') e a segunda é 'comando' (começa com a letra 'c'). A concatenação simples junta as duas, resultando em 'teste decomando' — exatamente como aparece na alternativa B.
Esse comportamento é padrão na linguagem SQL e também em outras linguagens de programação, como JavaScript (operador +) e Python (operador +). No PostgreSQL, o operador || também pode ser usado para concatenar arrays, mas para strings o efeito é o descrito.
A pegadinha desta questão está em confundir o operador || com uma concatenação que adiciona espaços automaticamente. Muitos candidatos, por associação com a linguagem natural, esperam que a junção de 'teste de' e 'comando' produza 'teste de comando' (com espaço). No entanto, o operador || não insere espaços — ele apenas une as strings exatamente como estão. Para obter o espaço, seria necessário incluí-lo em uma das strings, como em 'teste de ' || 'comando'.
Guarde essa regra: concatenação com || não adiciona espaços. É exatamente esse detalhe que separa a alternativa correta (B) das demais.
Apresenta a sequência com uma quebra de linha entre 'teste de' e 'comando'. Isso não corresponde ao resultado da concatenação, pois o operador || não insere quebras de linha. A concatenação produz uma string contínua, sem caracteres de nova linha.
A concatenação de 'teste de' com 'comando' resulta em 'teste decomando', exatamente como apresentado. Não há espaços adicionais, pois o operador || apenas une as strings.
Apresenta a sequência com quebras de linha entre as palavras. O operador || não insere quebras de linha, portanto o resultado não pode conter esses caracteres.
Apresenta a sequência com um espaço entre 'teste de' e 'comando'. O operador || não adiciona espaços automaticamente; para obter esse resultado, seria necessário incluir o espaço em uma das strings, como em 'teste de ' || 'comando'.
Idêntica à alternativa D, apresenta a sequência com um espaço entre as palavras. Pelo mesmo motivo, está incorreta.
A banca explora a confusão entre o operador || e a concatenação com espaço automático. Muitos candidatos escolhem as alternativas D ou E, que mostram 'teste de comando', por associarem a concatenação à junção natural com espaço. Lembre-se: o || une as strings exatamente como estão, sem inserir espaços. Para obter o espaço, ele deve estar presente em uma das strings.
Em questões sobre concatenação de strings, verifique sempre se há espaços nas strings originais. Se as strings não contêm espaços nas bordas, o resultado não terá espaços entre elas. Essa dica vale para qualquer SGBD que siga o padrão SQL.
Gabarito: letra B
Link permanente: /questoes/vu196231