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
- Fórum do Access para desenvolvedores
- Ajuda do Access em support.office.com
- Fóruns do Access no UtterAccess
- Central de ajuda da programação VBA e desenvolvedor do Access (FMS)
- Postagens do Access no StackOverflow
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.