Compartilhar via


Operador Like (Microsoft Access SQL)

Aplica-se ao: Access 2013 | Access 2016

Compara uma expressão em sequência com um padrão em uma expressão SQL.

Sintaxe

expressãoComo "padrão"

A sintaxe do operador Like contém estas partes:

Parte Descrição
expression Expressão SQL usada em uma cláusula WHERE.
padrão Literal de sequência ou de sequência de caracteres com o qual a expression é comparada.

Comentários

Utilize o operador Like para localizar valores num campo que correspondam ao padrão que especificar. Para padrão, pode especificar o valor completo (por exemplo, Like "Smith"), ou pode utilizar carateres universais para localizar um intervalo de valores (por exemplo, ), ou pode utilizar carateres universais para localizar um intervalo de valores (por exemplo, "Como "Sm*").

Em uma expressão, é possível usar o operador Like para comparar um valor de campo a uma expressão em sequência. Por exemplo, se introduzir Like "C*" numa consulta SQL, a consulta devolve todos os valores de campo a partir da letra C. Numa consulta parametrizada, pode pedir ao utilizador um padrão para procurar.

O exemplo a seguir retorna dados que começam com a letra P seguida por qualquer letra entre A e F e três dígitos:

Like "P[A-F]###"

A tabela a seguir mostra como você pode usar Like para testar expressões para diferentes padrões.

Tipo de correspondência Padrão de Correspondência (devolve Verdadeiro) Sem correspondência (devolve Falso)
Vários caracteres a*a aa, aBa, aBBBa aBC
ab abc, AABB, Xab aZb, bac
Caractere especial a[*]a a*a aaaa
Vários caracteres ab* abcdefg, abc cab, aab
Caractere único a?a aaa, a3a, aBa aBBBa
Único dígito a#a a0a, a1a, a2a aaa, a10a
Intervalo de caracteres [a-z] f, p, j 2, &
Fora de um intervalo [!a-z] 9, &, % b, a
Não é um dígito [!0-9] A, a, &, ~ 0, 1, 9
Combinado a[!b-m]# An9, az0, a99 abc, aj0

Exemplo

Este exemplo devolve uma lista de funcionários cujos nomes começam com as letras A a D. Chama o procedimento EnumFields, que pode encontrar no exemplo da instrução SELECT.

Sub LikeX() 
 
    Dim dbs As Database, rst As Recordset 
 
    ' Modify this line to include the path to Northwind 
    ' on your computer. 
    Set dbs = OpenDatabase("Northwind.mdb") 
 
    ' Return a list of employees whose names begin with 
    ' the letters A through D. 
    Set rst = dbs.OpenRecordset("SELECT LastName," _ 
        & " FirstName FROM Employees" _ 
        & " WHERE LastName Like '[A-D]*';") 
 
    ' Populate the Recordset. 
    rst.MoveLast 
 
    ' Call EnumFields to print the contents of the  
    ' Recordset. Pass the Recordset object and desired 
    ' field width. 
    EnumFields rst, 15 
    
    dbs.Close 
 
End Sub

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.