Questão FC372883
Considere a função abaixo criada em um banco de dados MySQL em condições ideais, que possui a tabela usuarios com os campos usuario, senha e cargo, todos do tipo varchar. CREATE DE
Linguagem SQL
FCC · 2022
Considere a função abaixo criada em um banco de dados MySQL em condições ideais, que possui a tabela usuarios com os campos usuario, senha e cargo, todos do tipo varchar.
CREATE DEFINER=`root`@`localhost` FUNCTION `Apoio`(ent VARCHAR(255)) RETURNS varchar(255) CHARSET utf8mb4
DETERMINISTIC
BEGIN
DECLARE len INT;
DECLARE i INT;
SET len = CHAR_LENGTH(ent);
SET i = 0;
WHILE (i < len) DO
IF (MID(ent,i,1) = ' ' OR i = 0) THEN
IF (i < len) THEN
SET ent = CONCAT(
LEFT(ent,i),
UPPER(MID(ent,i + 1,1)),
RIGHT(ent,len - i - 1)
);
END IF;
END IF;
SET i = i + 1;
END WHILE;
RETURN ent;
END
Esta função foi executada pelo comando abaixo.
SELECT Apoio(cargo) from usuarios;
Espera-se, como resultado, uma lista com os conteúdos do campo cargo
- separada em um array onde cada caractere ocupa uma posição do array.
- com a primeira letra, de cada palavra que compõe o nome do cargo, maiúscula e o restante das letras minúsculas.
- com as palavras que compõem o nome do cargo em posições invertidas, caso o cargo tenha mais que uma palavra.
- em ordem alfabética decrescente.
- com todas as letras maiúsculas.
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
A alternativa está correta: a função torna a primeira letra de cada palavra em maiúscula, produzindo nomes de cargo com as iniciais capitalizadas.
Isso ocorre porque a rotina percorre a string com um laço (variável i, começando em \(i = 0\)) e, quando encontra o início (i = 0) ou um espaço (MID(ent,i,1) = ' '), aplica UPPER ao próximo caractere (MID(ent,i+1,1)) e reconstrói a string com LEFT, CONCAT e RIGHT.
Ex.: "tec concursos" → primeira iteração torna "T", ao achar o espaço torna "C", resultando "Tec Concursos".
Observação: a função só força as letras iniciais em maiúscula; se houver maiúsculas em outras posições na entrada, elas não são explicitamente convertidas para minúsculas.
Conteúdo do catálogo FC Concursos · Atualizado em