Operadores de comparaçãoComparison operators

Usado para comparar expressões.Used to compare expressions.

SintaxeSyntax

resultado = expression1 comparisonoperator expression2result = expression1 comparisonoperator expression2
resultado = Objeto1 é object2result = object1 Is object2
resultado = cadeia de caracteres como padrãoresult = string Like pattern

Operadores de comparação possuem estas partes:Comparison operators have these parts:

PartePart DescriçãoDescription
resultadoresult Obrigatório; qualquervariável numérica.Required; any numeric variable.
expressãoexpression Obrigatória; qualquer expressão.Required; any expression.
comparisonoperatorcomparisonoperator Obrigatória; qualquer operador de comparação.Required; any comparison operator.
objectobject Obrigatória; qualquer nome de objeto.Required; any object name.
cadeia de caracteresstring Obrigatório; qualquer expressão de cadeia de caracteres.Required; any string expression.
padrãopattern Obrigatória; qualquer expressão de cadeia de caracteres ou um intervalo de caracteres.Required; any string expression or range of characters.

ComentáriosRemarks

A tabela a seguir contém uma lista de operadores de comparação e as condições que determinam se o resultado é True, Falseou Nulo.The following table contains a list of the comparison operators and the conditions that determine whether result is True, False, or Null.

OperadorOperator True seTrue if False seFalse if Nulo seNull if
<(Menor que)< (Less than) Expression1 < expression2expression1 < expression2 Expression1 >= expression2expression1 >= expression2 Expression1 ou expression2 = Nuloexpression1 or expression2 = Null
< =(Menor ou igual a)< = (Less than or equal to) Expression1 <= expression2expression1 <= expression2 Expression1 > expression2expression1 > expression2 Expression1 ou expression2 = Nuloexpression1 or expression2 = Null
>(Maior que)> (Greater than) Expression1 > expression2expression1 > expression2 Expression1 <= expression2expression1 <= expression2 Expression1 ou expression2 = Nuloexpression1 or expression2 = Null
> =(Maior que ou igual a)> = (Greater than or equal to) Expression1 >= expression2expression1 >= expression2 Expression1 < expression2expression1 < expression2 Expression1 ou expression2 = Nuloexpression1 or expression2 = Null
=(Igual a)= (Equal to) Expression1 = expression2expression1 = expression2 Expression1 <> expression2expression1 <> expression2 Expression1 ou expression2 = Nuloexpression1 or expression2 = Null
<>(Não é igual a)<> (Not equal to) Expression1 <> expression2expression1 <> expression2 Expression1 = expression2expression1 = expression2 Expression1 ou expression2 = Nuloexpression1 or expression2 = Null

Observação

Os operadores é e como têm funções específicas de comparação difere os operadores na tabela.The Is and Like operators have specific comparison functionality that differs from the operators in the table.

Ao comparar duas expressões, você não poderá determinar facilmente se as expressões estejam sendo comparadas como números ou como cadeias de caracteres.When comparing two expressions, you may not be able to easily determine whether the expressions are being compared as numbers or as strings. A tabela a seguir mostra como as expressões são comparadas ou o resultado quando qualquer expressão não for um Variant.The following table shows how the expressions are compared or the result when either expression is not a Variant.

SeIf EntãoThen
As duas expressões são tipos de dados numéricos (Byte, booleano, inteiro, longo, único, duplo, Data, moedaou Decimal)Both expressions are numeric data types (Byte, Boolean, Integer, Long, Single, Double, Date, Currency, or Decimal) Realiza uma comparação numérica.Perform a numeric comparison.
As duas expressões são a cadeia de caracteresBoth expressions are String Realiza uma comparação de cadeia de caracteres.Perform a string comparison.
Uma expressão é um tipo de dados numéricos e a outra é um Variant que está, ou pode ser, um númeroOne expression is a numeric data type and the other is a Variant that is, or can be, a number Realiza uma comparação numérica.Perform a numeric comparison.
Uma expressão é um tipo de dados numéricos e a outra é uma Variant que não puder ser convertida para um número de sequência de caracteresOne expression is a numeric data type and the other is a string Variant that can't be converted to a number Uma Type Mismatch ocorrerá erro.A Type Mismatch error occurs.
Uma expressão é uma cadeia de caracteres e a outra é qualquer Variant exceto NuloOne expression is a String and the other is any Variant except a Null Realiza uma comparação de cadeia de caracteres.Perform a string comparison.
Uma expressão é vazia e a outra é um tipo de dados numéricosOne expression is Empty and the other is a numeric data type Realiza uma comparação numérica, usando 0 como a expressão vazia .Perform a numeric comparison, using 0 as the Empty expression.
Uma expressão é vazia e a outra é uma cadeia de caracteresOne expression is Empty and the other is a String Executar uma comparação de cadeia de caracteres, usando uma cadeia de caracteres de comprimento zero ("") como a expressão vazia .Perform a string comparison, using a zero-length string ("") as the Empty expression.

Se expression1 e expression2 forem ambas as expressões Variant , seu tipo subjacente determina como são comparados.If expression1 and expression2 are both Variant expressions, their underlying type determines how they are compared. A tabela a seguir mostra como as expressões são comparadas ou o resultado da comparação, dependendo do tipo subjacente do Variant.The following table shows how the expressions are compared or the result from the comparison, depending on the underlying type of the Variant.

SeIf EntãoThen
As duas expressões Variant forem numéricosBoth Variant expressions are numeric Realiza uma comparação numérica.Perform a numeric comparison.
As duas expressões Variant são cadeias de caracteresBoth Variant expressions are strings Realiza uma comparação de cadeia de caracteres.Perform a string comparison.
Uma expressão Variant é numérica e a outra é uma cadeia de caracteresOne Variant expression is numeric and the other is a string A expressão numérica é menor que a expressão de cadeia de caracteres.The numeric expression is less than the string expression.
Uma expressão Variant está vazio e a outra é numéricaOne Variant expression is Empty and the other is numeric Realiza uma comparação numérica, usando 0 como a expressão vazia .Perform a numeric comparison, using 0 as the Empty expression.
Uma expressão Variant está vazio e a outra é uma cadeia de caracteresOne Variant expression is Empty and the other is a string Executar uma comparação de cadeia de caracteres, usando uma cadeia de caracteres de comprimento zero ("") como a expressão vazia .Perform a string comparison, using a zero-length string ("") as the Empty expression.
As duas expressões Variant estiverem vaziasBoth Variant expressions are Empty As expressões são iguais.The expressions are equal.

Quando um único é comparado com dupla, Double será arredondado para a precisão do único.When a Single is compared to a Double, the Double is rounded to the precision of the Single. Se uma moeda é comparado com um único ou duplo, o único ou duplo é convertido em uma moeda.If a Currency is compared with a Single or Double, the Single or Double is converted to a Currency.

Da mesma forma, quando um Decimal é comparado com um único ou duplo, o único ou duplo é convertido em um Decimal.Similarly, when a Decimal is compared with a Single or Double, the Single or Double is converted to a Decimal. Para moeda, qualquer valor fracionário,0001 menor que podem ser perdidos; para Decimal, qualquer valor fracionário 1E-28 menor que pode ser perdido ou pode ocorrer um erro de estouro.For Currency, any fractional value less than .0001 may be lost; for Decimal, any fractional value less than 1E-28 may be lost, or an overflow error can occur. Tal perda de valor fracionário pode causar dois valores sejam comparados como iguais quando não são.Such fractional value loss may cause two values to compare as equal when they are not.

ExemploExample

Este exemplo mostra vários usos dos operadores de comparação, que você usa para comparar expressões.This example shows various uses of comparison operators, which you use to compare expressions.

Dim MyResult, Var1, Var2
MyResult = (45 < 35)    ' Returns False.
MyResult = (45 = 45)    ' Returns True.
MyResult = (4 <> 3)    ' Returns True.
MyResult = ("5" > "4")    ' Returns True.

Var1 = "5": Var2 = 4    ' Initialize variables.
MyResult = (Var1 > Var2)    ' Returns True.

Var1 = 5: Var2 = Empty
MyResult = (Var1 > Var2)    ' Returns True.

Var1 = 0: Var2 = Empty
MyResult = (Var1 = Var2)    ' Returns True.

Confira tambémSee also