SóProvas


ID
1252330
Banca
CESPE / CEBRASPE
Órgão
TRT - 17ª Região (ES)
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Julgue o item subsequente com relação aos comandos SQL.

No PostgreSql 9.3, os dois comandos abaixo retornam true como resultado.

SELECT 'abc' SIMILAR TO '%(b|d)%'
SELECT 'abc' SIMILAR TO '(b|c)%'

Alternativas
Comentários
  • O que significa o | ?? (exatamente a barra em pé)

     

  • Documentação: https://www.postgresql.org/docs/9.3/static/functions-matching.html

  • O pipe |, significa "OU".

    Por exemplo, na expressão '(b|c)%' a string deve começar com o caractere 'b' OU 'c', e ter qualquer sequência de caracteres após algum destes dois caracteres. As duas sequências, entre outras, são válidas: bsdfasdfasdf... ou casdfasfdasdf...

     

    Na segunda expressão na assertiva (SELECT 'abc' SIMILAR TO '(b|c)%'), pelo fato da string em comparação ser "abc" e não começar com 'b' ou 'c', então a assertiva está errada.

  • No primeiro caso o comando retorna true pois a string deve ter um caractere 'b' ou 'd' entre duas strings de tamanho indefinido. Ex: abc

    No segundo caso o comando retorna false pois a string deve começar com 'b' ou 'c' e possuir uma string após o caractere. Ex: baaac; caaab