operador search
Pesquisa um padrão de texto em várias tabelas e colunas.
Observação
Se você souber as tabelas e colunas específicas que deseja pesquisar, é mais eficiente usar os operadores union e where. O search
operador pode ser lento ao pesquisar em um grande número de tabelas e colunas.
Sintaxe
[T |
] search
[kind=
CaseSensitivity ] [ (
in
TableSources)
] SearchPredicate
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
T | string |
A fonte de dados tabular a ser pesquisada, como um nome de tabela, um operador de união ou os resultados de uma consulta tabular. Não pode aparecer junto com TableSources. | |
CaseSensitivity | string |
Um sinalizador que controla o comportamento de todos os string operadores escalares, como has , em relação à diferenciação de maiúsculas e minúsculas. Os valores válidos são default , case_insensitive , case_sensitive . As opções default e são sinônimos, já que o comportamento padrão não diferencia case_insensitive maiúsculas de minúsculas. |
|
TabelaFontes | string |
Uma lista separada por vírgulas de nomes de tabelas "curingas" para participar da pesquisa. A lista tem a mesma sintaxe que a lista do operador de união. Não pode aparecer junto com TabularSource. | |
SearchPredicate | string |
✔️ | Uma expressão booleana a ser avaliada para cada registro na entrada. Se ele retornar true , o registro será gerado. Consulte Sintaxe de predicado de pesquisa. |
Sintaxe do predicado de pesquisa
O SearchPredicate permite pesquisar termos específicos em todas as colunas de uma tabela. O operador que será aplicado a um termo de pesquisa depende da presença e do posicionamento de um asterisco curinga (*
) no termo, conforme mostrado na tabela a seguir.
Literal | Operador |
---|---|
billg |
has |
*billg |
hassuffix |
billg* |
hasprefix |
*billg* |
contains |
bi*lg |
matches regex |
Você também pode restringir a pesquisa a uma coluna específica, procurar uma correspondência exata em vez de uma correspondência de termo ou pesquisar por expressão regular. A sintaxe para cada um desses casos é mostrada na tabela a seguir.
Sintaxe | Explicação |
---|---|
ColumnName: StringLiteral |
Essa sintaxe pode ser usada para restringir a pesquisa a uma coluna específica. O comportamento padrão é pesquisar todas as colunas. |
ColumnName== StringLiteral |
Essa sintaxe pode ser usada para procurar correspondências exatas de uma coluna em relação a um valor de cadeia de caracteres. O comportamento padrão é procurar uma correspondência de termos. |
Coluna matches regex StringLiteral |
Essa sintaxe indica correspondência de expressão regular, na qual StringLiteral é o padrão regex. |
Use expressões booleanas para combinar condições e criar pesquisas mais complexas. Por exemplo, "error" and x==123
resultaria em uma pesquisa por registros que têm o termo error
em qualquer coluna e o valor 123
na x
coluna.
Observação
Se TabularSource e TableSources forem omitidos, a pesquisa será transportada por todas as tabelas e exibições irrestritas do banco de dados no escopo.
Exemplos de sintaxe de predicado de pesquisa
# | Sintaxe | Significado (equivalente where ) |
Comentários |
---|---|---|---|
1 | search "err" |
where * has "err" |
|
2 | search in (T1,T2,A*) "err" |
união T1,T2,A* | onde * tem "err" |
|
3 | search col:"err" |
where col has "err" |
|
4 | search col=="err" |
where col=="err" |
|
5 | search "err*" |
where * hasprefix "err" |
|
6 | search "*err" |
where * hassuffix "err" |
|
7 | search "*err*" |
where * contains "err" |
|
8 | search "Lab*PC" |
where * matches regex @"\bLab.*PC\b" |
|
9 | search * |
where 0==0 |
|
10 | search col matches regex "..." |
where col matches regex "..." |
|
11 | search kind=case_sensitive |
Todas as comparações de cadeias de caracteres diferenciam maiúsculas de minúsculas | |
12 | search "abc" and ("def" or "hij") |
where * has "abc" and (* has "def" or * has hij") |
|
13 | search "err" or (A>a and A<b) |
where * has "err" or (A>a and A<b) |
Comentários
Ao contrário do operador de localização, o search
operador não suporta o seguinte:
withsource=
: A saída sempre incluirá uma coluna chamada$table
de tipostring
cujo valor é o nome da tabela da qual cada registro foi recuperado (ou algum nome gerado pelo sistema se a origem não for uma tabela, mas uma expressão composta).project=
,project-smart
: O esquema de saída é equivalente ao esquema deproject-smart
saída.
Exemplos
Pesquisa global de termos
Pesquise um termo em todas as tabelas e exibições irrestritas do banco de dados no escopo.
search "Green"
A saída contém registros das Customers
tabelas , Products
e SalesTable
. Os Customers
registros mostram todos os clientes com o sobrenome "Verde", e os Products
registros mostram SalesTable
produtos com alguma menção de "Verde".
Pesquisa de termos globais condicional
Pesquise registros que correspondam a ambos os termos em todas as tabelas e exibições irrestritas do banco de dados no escopo.
search "Green" and ("Deluxe" or "Proseware")
Pesquisar uma tabela específica
Pesquise Customers
apenas na tabela.
search in (Products) "Green"
Pesquisa que diferencia maiúsculas de minúsculas
Pesquise registros que correspondam a ambos os termos que diferenciam maiúsculas de minúsculas em todas as tabelas e exibições irrestritas do banco de dados no escopo.
search kind=case_sensitive "blue"
Pesquisar colunas específicas
Procure um termo nas colunas "Nome" e "Sobrenome" em todas as tabelas e exibições irrestritas do banco de dados no escopo.
search FirstName:"Aaron" or LastName:"Hughes"
Limitar a pesquisa por carimbo de data/hora
Procure um termo em todas as tabelas e exibições irrestritas do banco de dados no escopo se o termo aparecer em um registro com uma data maior do que a data determinada.
search "Hughes" and DateKey > datetime('2009-01-01')
Dicas de desempenho
# | Dica | Preferência | Acima |
---|---|---|---|
1 | Prefira usar um único search operador em vez de vários operadores consecutivos search |
search "billg" and ("steveb" or "satyan") |
Pesquisar "Billg" | Pesquisar "Steveb" ou "Satyan" |
2 | Prefira filtrar dentro do search operador |
search "billg" and "steveb" |
pesquisar * | onde * tem "billg" e * tem "steveb" |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de