SóProvas


ID
5281213
Banca
IDIB
Órgão
Prefeitura de Xinguara - PA
Ano
2020
Provas
Disciplina
Banco de Dados
Assuntos

Transact-SQL é o nome de uma linguagem que estende as funcionalidades do padrão SQL-92. Ela nos permite utilizar um grande leque de funções e recursos que auxiliam os desenvolvedores na construção de aplicações que manipulam dados armazenados no SGBD SQL Server. A respeito do uso de funções pertencentes a linguagem Transact-SQL, considerando que a instrução abaixo foi executada no SQL Server 2017, marque a alternativa que indica corretamente o valor que será retornado após sua execução.


select PATINDEX('_B_D%', 'ABCDEF')

Alternativas
Comentários
  • Gabarito: B

    As funções CHARINDEX e PATINDEX basicamente fazem a mesma coisa, retornam a posição inicial de um padrão que você especifica. PATINDEX pode usar caracteres curingas, mas a CHARINDEX não.

    Ambas as funções usam dois argumentos. Com PATINDEX, você deve incluir sinais de porcentagem antes e depois do teste padrão, a menos que você está procurando o padrão como os primeiros (omita o primeiro%) ou os últimos (omita o último%) caracteres em uma coluna. Para CHARINDEX, o padrão não pode incluir caracteres curinga. O segundo argumento é uma expressão de caracteres, geralmente um nome de coluna.

    Como a função CHARINDEX, a função PATINDEX retorna a posição inicial do padrão dentro da sequência que está sendo pesquisada.

    Se você tem uma chamada de função PATINDEX assim: select PATINDEX('_B_D%', 'ABCDEF')

    Em seguida, o resultado da chamada da função PATINDEX é 1.

    % É usado para representar qualquer quantidade de qualquer coisa.

    _ É usado para encontrar apenas uma ocorrência de qualquer coisa.

  • As funções CHARINDEX e PATINDEX basicamente fazem a mesma coisa, retornam a posição inicial de um padrão que você especifica. PATINDEX pode usar caracteres curingas, mas a CHARINDEX não pode.

    Ambas as funções usam dois argumentos. Com PATINDEX, você deve incluir sinais de porcentagem antes e depois do teste padrão, a menos que você está procurando o padrão como o primeiro (omita o primeiro%) ou os últimos (omita o último%) caracteres em uma coluna. Para CHARINDEX, o padrão não pode incluir caracteres curinga. O segundo argumento é uma expressão de caracteres, geralmente um nome de coluna.

    Exemplo usando CHARINDEX:

    SELECT CHARINDEX (‘SQL’, ‘Microsoft SQL Server’)

    Esta chamada de função irá retornar a localização da cadeia de caracteres “SQL”, começando, na seqüência de “Microsoft SQL Server”. Neste caso, a função CHARINDEX irá retornar o número 11, que como você pode ver é a posição inicial de “S” em cadeia “Microsoft SQL Server”. 

    Agora dizer que temos o seguinte comando CHARINDEX:

    SELECT CHARINDEX (‘7.0’, ‘Microsoft SQL Server 2000’)

    Neste exemplo, a função CHARINDEX retornará zero, uma vez que a cadeia de caracteres “7.0” não pode ser encontrado na seqüência de “Microsoft SQL Server 2012”.

    Como funciona o PATINDEX:

    Como a função CHARINDEX, a função PATINDEX retorna a posição inicial do padrão dentro da seqüência que está sendo pesquisada. Se você tem uma chamada de função PATINDEX assim: PATINDEX (‘%BC%’, ‘ABCD’)SELECT PATINDEX (‘%BC%’, ‘ABCD’)

    Em seguida, o resultado da chamada da função PATINDEX é 2 , O sinal % é um carácter universal (carácter curinga). 

    Existem quatro tipo de caractere curinga disponível em SQL Server. Temos que usar LIKE ou palavra-chave PATINDEX.

    % É usado para representar qualquer coisa antes, depois ou toda string.

    [] É usado para procurar caráter único dentro de um intervalo (AZ ou 0-9) ou um único caractere no padrão de correspondência.

    [^] É usado para procurar por uma seqüência sem o caráter dado no colchete após ^ símbolo e na posição especificada.

    _ (Sublinhado) Usado para encontrar uma string que contenha o texto não levando em consideração o primeiro carácter.

    fonte: https://jvilar.wordpress.com/2015/11/22/comparando-charindex-e-patindex/