SóProvas


ID
1151536
Banca
INSTITUTO AOCP
Órgão
Colégio Pedro II
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Qual é o retorno da consulta select replace(initcap(replace(upper(‘pedro cortou o joelho’),’pedro’,’carlos’)),’carlos’,’marcelo’); executada no PostgreSQL?

Alternativas
Comentários
  • Quebrando pra ficar fácil:

    select replace(initcap
            (replace
                (upper(‘pedro cortou o joelho’)
            ,’pedro’,’carlos’)
            ),
    ’carlos’,’marcelo’); 
     

    Indo por partes, feito Jack:   

    upper(‘pedro cortou o joelho’) -> Resultará em 'PEDRO CORTOU O JOELHO'

    replace('PEDRO CORTOU O JOELHO', 'pedro', 'carlos') -> Continuará  'PEDRO CORTOU O JOELHO' visto que a função replace é CASE SENSITIVE

    initcap('PEDRO CORTOU O JOELHO') -> Coloca a primeira letra de CADA PALAVRA em maíuscula, e as restantes em minúscula. 'Pedro Cortou O Joelho' é a resultante agora

    replace('Pedro Cortou O Joelho', 'carlos', 'marcelo') -> Nada acontece. Não existe Carlos, e mesmo que existisse ele teria o C maiúsculo.

     

    Resultado: 'Pedro Cortou O Joelho'