Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
Uma combinação de um ou mais predicados que usam os operadores ANDlógicos , ORe NOT.
Transact-SQL convenções de sintaxe
Syntax
Sintaxe para SQL Server, Banco de Dados SQL do Azure e Instância Gerenciada SQL do Azure.
<search_condition> ::=
MATCH (<graph_search_pattern>) | <search_condition_without_match> | <search_condition> AND <search_condition>
<search_condition_without_match> ::=
{ [ NOT ] <predicate> | ( <search_condition_without_match> ) }
[ { AND | OR } [ NOT ] { <predicate> | ( <search_condition_without_match> ) } ]
[ ...n ]
<predicate> ::=
{ expression { = | <> | != | > | >= | !> | < | <= | !< } expression
| string_expression [ NOT ] LIKE string_expression
[ ESCAPE 'escape_character' ]
| expression [ NOT ] BETWEEN expression AND expression
| expression IS [ NOT ] NULL
| expression IS [ NOT ] DISTINCT FROM
| CONTAINS
( { column | * } , '<contains_search_condition>' )
| FREETEXT ( { column | * } , 'freetext_string' )
| expression [ NOT ] IN ( subquery | expression [ , ...n ] )
| expression { = | < > | != | > | >= | ! > | < | <= | ! < }
{ ALL | SOME | ANY } ( subquery )
| EXISTS ( subquery ) }
<graph_search_pattern> ::=
{ <node_alias> {
{ <-( <edge_alias> )- }
| { -( <edge_alias> )-> }
<node_alias>
}
}
<node_alias> ::=
node_table_name | node_table_alias
<edge_alias> ::=
edge_table_name | edge_table_alias
Sintaxe para o Azure Synapse Analytics e o Parallel Data Warehouse.
< search_condition > ::=
{ [ NOT ] <predicate> | ( <search_condition> ) }
[ { AND | OR } [ NOT ] { <predicate> | ( <search_condition> ) } ]
[ ...n ]
<predicate> ::=
{ expression { = | <> | != | > | >= | < | <= } expression
| string_expression [ NOT ] LIKE string_expression
| expression [ NOT ] BETWEEN expression AND expression
| expression IS [ NOT ] NULL
| expression [ NOT ] IN (subquery | expression [ , ...n ] )
| expression [ NOT ] EXISTS (subquery)
}
Arguments
<search_condition>
Especifica as condições para as linhas retornadas no conjunto de resultados para uma SELECT instrução, expressão de consulta ou subconsulta. Para uma UPDATE instrução, especifica as linhas a serem atualizadas. Para uma DELETE instrução, especifica as linhas a serem excluídas. Não há limite para o número de predicados que podem ser incluídos em uma condição de pesquisa de instrução Transact-SQL.
<graph_search_pattern>
Especifica o padrão de correspondência do gráfico. Para obter mais informações sobre os argumentos para esta cláusula, consulte MATCH
NOT
Nega a expressão booleana especificada pelo predicado. Para obter mais informações, consulte NOT.
AND
Combina duas condições e avalia quando TRUE ambas as condições são TRUE. Para obter mais informações, consulte E.
OR
Combina duas condições e avalia quando TRUE uma delas é TRUE. Para obter mais informações, consulte OR.
<predicate>
Uma expressão que retorna TRUE, FALSEou UNKNOWN. Para obter mais informações, consulte Predicados.
expression
Especifica um nome de coluna, uma constante, uma função, uma variável, uma subconsulta escalar ou qualquer combinação de nomes de coluna, constantes e funções conectadas por um operador ou operadores, ou uma subconsulta. A expressão também pode conter a CASE expressão.
As constantes e variáveis de cadeia de caracteres não-Unicode usam a página de código que corresponde ao agrupamento padrão do banco de dados. As conversões de página de código podem ocorrer ao trabalhar apenas com dados de caracteres não-Unicode e ao fazer referência aos tipos de dados de caracteres não-Unicode char, varchar e text. O SQL Server converte constantes e variáveis de cadeia de caracteres não Unicode na página de código que corresponde ao agrupamento da coluna referenciada ou especificada usando , se COLLATEessa página de código for diferente da página de código que corresponde ao agrupamento padrão do banco de dados. Todos os caracteres não encontrados na nova página de código são traduzidos para um caractere semelhante se um mapeamento de melhor ajuste puder ser encontrado, ou então são convertidos para o caractere de substituição padrão de ?.
Quando você trabalha com várias páginas de código, as constantes de caractere podem ser prefixadas com a letra Nmaiúscula e as variáveis Unicode podem ser usadas, para evitar conversões de página de código.
= Operador
O operador usado para testar a igualdade entre duas expressões.
<> Operador
O operador usado para testar a condição de duas expressões não serem iguais uma à outra.
!= Operador
O operador usado para testar a condição de duas expressões não serem iguais uma à outra.
> Operador
O operador usado para testar a condição de uma expressão ser maior do que a outra.
>= Operador
O operador usado para testar a condição de uma expressão ser maior ou igual à outra expressão.
!> Operador
O operador usado para testar a condição de uma expressão não ser maior do que a outra expressão.
< Operador
O operador usado para testar a condição de uma expressão ser menor do que a outra.
<= Operador
O operador usado para testar a condição de uma expressão ser menor ou igual à outra expressão.
!< Operador
O operador usado para testar a condição de uma expressão não ser menor do que a outra expressão.
string_expression
Uma cadeia de caracteres e caracteres curinga.
[ NÃO ] GOSTAR
Indica que a cadeia de caracteres subsequente deve ser usada com correspondência de padrão. Para obter mais informações, consulte LIKE.
ESCAPE 'escape_ personagem'
Permite que um caractere curinga seja pesquisado em uma cadeia de caracteres em vez de funcionar como um curinga. escape_character é o caractere que é colocado na frente do caractere curinga para indicar esse uso especial.
[ NÃO ] ENTRE
Especifica um intervalo inclusivo de valores. Use AND para separar os valores inicial e final. Para obter mais informações, consulte BETWEEN.
É [ NÃO ] NULO
Especifica uma pesquisa por valores nulos ou por valores que não são nulos, dependendo das palavras-chave usadas. Uma expressão com um operador bitwise ou aritmético avalia se NULL qualquer um dos operandos é NULL.
É [ NÃO ] DISTINTA DE
Compara a igualdade de duas expressões e garante um resultado verdadeiro ou falso, mesmo que um ou ambos os operandos sejam NULL. Para obter mais informações, consulte É [NÃO] DISTINTO DE (Transact-SQL).
CONTAINS
Pesquisa colunas que contêm dados baseados em caracteres para correspondências precisas ou menos precisas (confusas) para palavras e frases únicas, a proximidade de palavras dentro de uma certa distância umas das outras e correspondências ponderadas. Esta opção só pode ser usada com SELECT instruções. Para obter mais informações, consulte CONTÉM.
FREETEXT
Fornece uma forma simples de consulta em linguagem natural pesquisando colunas que contêm dados baseados em caracteres para valores que correspondam ao significado em vez das palavras exatas no predicado. Esta opção só pode ser usada com SELECT instruções. Para obter mais informações, consulte TEXTO LIVRE.
[ NÃO ] EM
Especifica a pesquisa de uma expressão, com base no fato de a expressão estar incluída ou excluída de uma lista. A expressão de pesquisa pode ser uma constante ou um nome de coluna, e a lista pode ser um conjunto de constantes ou, mais tipicamente, uma subconsulta. Coloque a lista de valores entre parênteses. Para obter mais informações, consulte IN.
subquery
Pode ser considerada uma declaração restrita SELECT e é semelhante à <query_expression>SELECT da declaração. A ORDER BY cláusula e a INTO palavra-chave não são permitidas. Para obter mais informações, consulte SELECT.
ALL
Usado com um operador de comparação e uma subconsulta. Retorna TRUE quando <predicate> todos os valores recuperados para a subconsulta satisfazem a operação de comparação, ou FALSE quando nem todos os valores satisfazem a comparação ou quando a subconsulta não retorna linhas para a instrução externa. Para obter mais informações, consulte ALL.
{ ALGUNS | QUALQUER }
Usado com um operador de comparação e uma subconsulta. Retorna TRUE quando <predicate> qualquer valor recuperado para a subconsulta satisfaz a operação de comparação, ou FALSE quando nenhum valor na subconsulta satisfaz a comparação ou quando a subconsulta não retorna linhas para a instrução externa. Caso contrário, a expressão é UNKNOWN. Para obter mais informações, consulte ALGUNS | QUALQUER.
EXISTS
Usado com uma subconsulta para testar a existência de linhas retornadas pela subconsulta. Para obter mais informações, consulte EXISTS.
Remarks
A ordem de precedência para os operadores lógicos é NOT (mais alta), seguida por AND, seguida por OR. Parênteses podem ser usados para substituir essa precedência em uma condição de pesquisa. A ordem de avaliação dos operadores lógicos pode variar dependendo das escolhas feitas pelo otimizador de consulta. Para obter mais informações sobre como os operadores lógicos operam em valores lógicos, consulte E, OR e NOT.
Examples
Os exemplos de código neste artigo usam o banco de dados de exemplo AdventureWorks2025 ou AdventureWorksDW2025, que pode ser descarregado da página inicial de Exemplos e Projetos da Comunidade do Microsoft SQL Server.
A. Use WHERE com a sintaxe LIKE e ESCAPE
O exemplo a seguir procura as linhas nas quais a LargePhotoFileName coluna tem os caracteres green_e usa a opção porque ESCAPE é um caractere curinga_. Se você não especificar a ESCAPE opção, a consulta procurará quaisquer valores de descrição que contenham a palavra green seguida por qualquer caractere único diferente do _ caractere.
USE AdventureWorks2022;
GO
SELECT *
FROM Production.ProductPhoto
WHERE LargePhotoFileName LIKE '%greena_%' ESCAPE 'a';
B. Usar a sintaxe WHERE e LIKE com dados Unicode
O exemplo a seguir usa a WHERE cláusula para recuperar o endereço de correspondência de qualquer empresa que esteja fora dos Estados Unidos (US) e em uma cidade cujo nome comece com Pa.
USE AdventureWorks2022;
GO
SELECT AddressLine1,
AddressLine2,
City,
PostalCode,
CountryRegionCode
FROM Person.Address AS a
INNER JOIN Person.StateProvince AS s
ON a.StateProvinceID = s.StateProvinceID
WHERE CountryRegionCode NOT IN ('US')
AND City LIKE N'Pa%';
Exemplos: Azure Synapse Analytics and Analytics Platform System (PDW)
C. Use WHERE com LIKE
O exemplo a seguir procura as linhas nas quais a LastName coluna tem os caracteres and.
-- Uses AdventureWorks
SELECT EmployeeKey,
LastName
FROM DimEmployee
WHERE LastName LIKE '%and%';
D. Usar a sintaxe WHERE e LIKE com dados Unicode
O exemplo a seguir usa a WHERE cláusula para executar uma pesquisa Unicode na LastName coluna.
-- Uses AdventureWorks
SELECT EmployeeKey,
LastName
FROM DimEmployee
WHERE LastName LIKE N'%and%';