Questão nº 67
Questão de Tecnologia da Informação · FCC SEFAZ-PE 2022 - Conhecimentos Gerais (P1) (nº 67)
Instruções: Para responder às questões 66 e 67, considere a tabela abaixo, criada em um banco de dados relacional aberto e em condições ideais.
CREATE TABLE nfe ( Numero_NFe VARCHAR(9) NOT NULL, Modelo_NFe VARCHAR(2) NULL, Serie_NFe VARCHAR(3) NULL, codigo_UF VARCHAR(2) NULL, ano_Emissao VARCHAR(2) NULL, mes_Emissao VARCHAR(2) NULL, CNPJ_Emitente VARCHAR(14) NULL, Codigo_Chave VARCHAR(8) NULL, Digito_Chave VARCHAR(1) NULL, PRIMARY KEY (Numero_NFe));
Para selecionar na tabela nfe todas as notas fiscais eletrônicas cujo conteúdo do campo codigo_UF inicie pela letra S e tenha qualquer letra na sequência, utiliza-se a instrução SQL:
SELECT * FROM nfe WHERE
Este texto de apoio vale também pra questão nº 66.
- A`codigo_UF CONTAINS 'S*';`
- B`codigo_UF LIKE 'S%';` (alternativa correta)
- C`codigo_UF LIKE 'S*';`
- D`codigo_UF = 'S%';`
- E`codigo_UF LIKE '%S';`
Resposta comentada
Gabarito Alternativa B
O operador `LIKE` em SQL é usado para buscar padrões específicos em textos, e ele utiliza caracteres curinga para representar partes desconhecidas da string. O curinga `%` (sinal de percentual) representa zero, um ou múltiplos caracteres, enquanto o curinga `_` (underscore) representa um único caractere.
(A) Incorreta: `CONTAINS` não é um operador padrão SQL para busca de padrões como `LIKE`; `` não é o curinga correto para "qualquer sequência de caracteres" no `LIKE` padrão.
(B) Correta: O operador `LIKE` é o correto para busca de padrões, e `'S%'` significa "começa com a letra S e é seguido por zero ou mais caracteres", atendendo exatamente ao requisito.
(C) Incorreta: Embora `LIKE` seja o operador correto, o caractere `` não é o curinga padrão do SQL para "zero ou mais caracteres"; ele seria tratado como um caractere literal. A armadilha aqui é que `` é um curinga comum em outros contextos (como sistemas de arquivos ou expressões regulares), mas não no `LIKE` do SQL, que usa `%`.
(D) Incorreta: O operador `=` realiza uma comparação exata. A string `'S%'` seria tratada literalmente, buscando apenas `codigo_UF` que fosse exatamente "S%", e não aqueles que começam com "S".
(E) Incorreta: A expressão `'%S'` significa "qualquer sequência de caracteres seguida pela letra S", ou seja, busca strings que terminam com "S", e não as que começam* com "S".
Fonte: FCC SEFAZ-PE 2022 - Conhecimentos Gerais (P1) Auditor Fiscal do Tesouro Estadual - AFTE (Caderno Tipo 1). Reproduzida para fins de estudo.