Table of contents
TOC
Recolher sumário
Expandir sumário

Operador LikeLike Operator

office 365 dev account|Última Atualização: 06/02/2018
|
2 Colaboradores

Usado para comparar duas cadeias de caracteres.Used to compare two strings.

SintaxeSyntax

resultado =cadeia de caracteresLikepadrãoresult=stringLikepattern

A sintaxe do operador Like contém estas partes:The Like operator syntax has these parts:

PartePartDescriçãoDescription
resultadoresultObrigatório; qualquervariável numérica.Required; any numeric variable.
cadeia de caracteresstringObrigatório; qualquer expressão de cadeia de caracteres.Required; any string expression.
padrãopatternObrigatório; expressão de cadeia de caracteres em conformidade com as convenções padrões descritas em Comentários.Required; any string expression conforming to the pattern-matching conventions described in Remarks.

ComentáriosRemarks

Se a cadeia de caracteres corresponder ao padrão, o resultado será True; se não houver correspondência, o resultado será False.If string matches pattern , result is True; if there is no match, result is False. If either string or pattern is Null, result is Null.Se a cadeia de caracteres ou o padrão for Null, o resultado será Null.If either string or pattern isNull, result is Null.
O comportamento do operador Like depende da instrução Option Compare.The behavior of the Like operator depends on the Option Compare statement. The default string-comparison method for each module is Option CompareBinary.O método padrão comparação de cadeia de caracteres para cada módulo é a Option CompareBinary.The defaultstring-comparison method for eachmodule is Option CompareBinary.

A Option Compare Binary resulta em comparações de cadeias de caracteres com base em uma ordem de classificação derivada das representação binárias internas dos caracteres.Option Compare Binary results in string comparisons based on a sort order derived from the internal binary representations of the characters. Sort order is determined by the code page. In the following example, a typical binary sort order is shown:A ordem de classificação é determinada pela página de código.Sort order is determined by the code page.No exemplo a seguir, uma ordem de classificação binária típica é mostrada:In the following example, a typical binary sort order is shown:
A < B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < øA < B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < ø

A Option Compare Text resulta em comparações de cadeia de caracteres com base em uma ordem de classificação textual, de maiúsculas e minúsculas determinada pelo local do sistema.Option Compare Text results in string comparisons based on a case-insensitive, textual sort order determined by your system's locale. When you sort the same characters using Option Compare Text, the following text sort order is produced:Quando você ordena os mesmos caracteres usando a Option Compare Text, a seguinte ordem de classificação é produzida:Option Compare Text results in string comparisons based on a case-insensitive, textual sort order determined by your system's locale. When you sort the same characters using Option Compare Text, the following text sort order is produced:
(A=a) < (À=à) < (B=b) < (E=e) < (Ê=ê) < (Z=z) < (Ø=ø)(A=a) < (À=à) < (B=b) < (E=e) < (Ê=ê) < (Z=z) < (Ø=ø)

A correspondência de padrões interna fornece uma ferramenta versátil para comparações de cadeias de caracteres.Built-in pattern matching provides a versatile tool for string comparisons.Os recursos de correspondência de padrão permitem o uso de caracteres curinga, listas de caracteres ou intervalos de caracteres, em qualquer combinação, para fazer correspondência com cadeias de caracteres.Built-in pattern matching provides a versatile tool for string comparisons. The pattern-matching features allow you to use wildcard characters, character lists, or character ranges, in any combination, to match strings. The following table shows the characters allowed in pattern and what they match:A tabela a seguir mostra os caracteres permitidos no padrão e a correspondência deles:The following table shows the characters allowed in pattern and what they match:

Caracteres em padrão**Characters in pattern Correspondências na cadeia de caracteres**Matches in string
?Qualquer caractere simples.Any single character.
\*Zero ou mais caracteres.Zero or more characters.
#Um dígito qualquer (0 a 9).Any single digit (0-9).
[ charlist ][ charlist ]Qualquer caractere único em charlist.Any single character in charlist.
[ !charlist ][ charlist ]Um caractere único não incluído em charlist.Any single character not in charlist.

Um grupo de um ou mais caracteres ( charlist ) entre colchetes ( [ ] ) pode ser usado para combinar qualquer caractere único na cadeia de caracteres e pode incluir quase todos os códigos de caracteres, incluindo dígitos.A group of one or more characters ( charlist ) enclosed in brackets ( [ ] ) can be used to match any single character in string and can include almost any character code, including digits.

Observação: para combinar os caracteres especiais colchete esquerdo ( [ ), ponto de interrogação ( ?Note To match the special characters left bracket ( [ ), question mark ( ?), cerquilha ( # ) e asterisco ( \* ), coloque-os entre colchetes.), number sign ( # ), and asterisk ( \* ), enclose them in brackets.O colchete direito ( ] ) não pode ser usado dentro de um grupo para corresponder a si mesmo, mas pode ser usado fora dele como um caractere individual.Note To match the special characters left bracket ( [ ), question mark ( ? ), number sign ( ), and asterisk ( ***** ), enclose them in brackets. The right bracket ( ] ) can't be used within a group to match itself, but it can be used outside a group as an individual character.

Ao usar um hífen ( - ) para separar os limites superiores e inferiores do intervalo, a charlist pode especificar um intervalo de caracteres.By using a hyphen ( - ) to separate the upper and lower bounds of the range, charlist can specify a range of characters. For example, results in a match if the corresponding character position in string contains any uppercase letters in the range A-Z. Multiple ranges are included within the brackets without delimiters.Por exemplo, [A-Z] resulta em uma correspondência se a posição do caractere correspondente na cadeia de caracteres contiver letras em maiúsculas no intervalo A–Z.For example, [A-Z] results in a match if the corresponding character position in string contains any uppercase letters in the range A-Z.Vários intervalos são incluídos dentro dos colchetes sem delimitadores.Multiple ranges are included within the brackets without delimiters.O significado de um intervalo especificado depende do caractere em uma organização válida no tempo de execução (como determinado pela Option Compare e pela definição local do sistema do código em execução).The meaning of a specified range depends on the character ordering valid at run time (as determined by Option Compare and thelocale setting of the system the code is running on).Usando o exemplo da Option Compare Binary, o intervalo [A-E] corresponde a: A, B e E. Com a Option Compare Text, [A-E] correspondendo a: A, a, À, à, B, b, E, e.Using the Option Compare Binary example, the range [A-E] matches A, B and E. With Option Compare Text, [A-E] matches A, a, À, à, B, b, E, e.O intervalo não corresponde a Ê ou ê, porque os caracteres acentuados ficam atrás de caracteres sem acento na ordem de classificação.The range does not match Ê or ê because accented characters fall after unaccented characters in the sort order.A seguir estão outras regras importantes para correspondência de padrões:Other important rules for pattern matching include the following:

  • um ponto de exclamação ( !An exclamation point ( !) no início da charlist significa que haverá uma correspondência se qualquer caractere, exceto os da charlist, for encontrado na cadeia de caracteres.An exclamation point ( ! ) at the beginning of charlist means that a match is made if any character except the characters in charlist is found in string . When used outside brackets, the exclamation point matches itself.Quando usado fora dos colchetes, o ponto de exclamação corresponde a ele mesmo.When used outside brackets, the exclamation point matches itself.

  • Um hífen ( - ) pode aparecer no início (depois de um ponto de exclamação, se este for usado) ou no final da charlist para corresponder a si próprio.A hyphen ( - ) can appear either at the beginning (after an exclamation point if one is used) or at the end of charlist to match itself. In any other location, the hyphen is used to identify a range of characters.Em outro local, o hífen é usado para identificar um intervalo de caracteres.In any other location, the hyphen is used to identify a range of characters.

  • Quando um intervalo de caracteres é especificado, ele deve aparecer em uma ordem de classificação crescente (do menor para o maior). O [A-Z] é um padrão válido, mas o [Z-A] não é.When a range of characters is specified, they must appear in ascending sort order (from lowest to highest). [A-Z] is a valid pattern, but [Z-A] is not.

  • A sequência de caracteres [] é considerada de comprimento zero ("").The character sequence [] is considered a zero-length string ("").

Em alguns idiomas, há caracteres especiais do alfabeto que representam dois caracteres separados.In some languages, there are special characters in the alphabet that represent two separate characters.Por exemplo, vários idiomas usam o caractere "æ" para representar os caracteres "a" e "e", quando aparecem juntos.For example, several languages use the character "æ" to represent the characters "a" and "e" when they appear together.O operador Like reconhece um caractere especial único e os dois caracteres individuais equivalentes.The Like operator recognizes that the single special character and the two individual characters are equivalent.Quando um idioma que usa um caractere especial é especificado no sistema de configurações local, uma ocorrência do caractere especial único no padrão ou na cadeia de caracteres corresponde a uma sequência de 2 caracteres equivalentes em outra cadeia de caracteres.When a language that uses a special character is specified in the system locale settings, an occurrence of the single special character in either pattern or string matches the equivalent 2-character sequence in the other string. Similarly, a single special character in pattern enclosed in brackets (by itself, in a list, or in a range) matches the equivalent 2-character sequence in string .Da mesma forma, um caractere especial único no padrão entre colchetes (por si mesmo, em uma lista ou em um intervalo) corresponde à sequência equivalente de 2 caracteres na cadeia de caracteres.When a language that uses a special character is specified in the system locale settings, an occurrence of the single special character in either pattern or string matches the equivalent 2-character sequence in the other string. Similarly, a single special character in pattern enclosed in brackets (by itself, in a list, or in a range) matches the equivalent 2-character sequence in string .

ExemploExample

Este exemplo usa o operador Like para comparar uma cadeia de caracteres com um padrão.This example uses the Like operator to compare a string to a pattern.

Dim MyCheck
MyCheck = "aBBBa" Like "a*a"    ' Returns True.
MyCheck = "F" Like "[A-Z]"    ' Returns True.
MyCheck = "F" Like "[!A-Z]"    ' Returns False.
MyCheck = "a2a" Like "a#a"    ' Returns True.
MyCheck = "aM5b" Like "a[L-P]#[!c-e]"    ' Returns True.
MyCheck = "BAT123khg" Like "B?T*"    ' Returns True.
MyCheck = "CAT123khg" Like "B?T*"    ' Returns False.
MyCheck = "ab" Like "a*b"    ' Returns True.
MyCheck = "a*b" Like "a[*]b"    ' Returns True.
MyCheck = "axxxxxb" Like "a[*]b"    ' Returns False.
MyCheck = "a[xyz" Like "a[[]*"    ' Returns True.
MyCheck = "a[xyz" Like "a[*"    ' Throws Error 93 (invalid pattern string).
© 2018 Microsoft