operador search
Procura um padrão de texto em várias tabelas e colunas.
Nota
Se souber as tabelas e colunas específicas que pretende procurar, é mais eficaz utilizar a união e onde os operadores. O search
operador pode ser lento ao procurar num grande número de tabelas e colunas.
Syntax
[T|
] search
[kind=
CaseSensitivity ] [in
(
TableSources)
] SearchPredicate
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Tipo | Necessário | Descrição |
---|---|---|---|
T | string |
A origem de dados tabular a procurar, como um nome de tabela, um operador sindical ou os resultados de uma consulta tabular. Não é possível aparecer em conjunto com o TableSources. | |
CaseSensitivity | string |
Um sinalizador que controla o comportamento de todos os string operadores escalares, como has , no que diz respeito à sensibilidade a maiúsculas e minúsculas. Os valores válidos são default , case_insensitive , case_sensitive . As opções default e case_insensitive são sinónimos, uma vez que o comportamento predefinido não é sensível a maiúsculas e minúsculas. |
|
TableSources | string |
Uma lista separada por vírgulas de nomes de tabelas "com carateres universais" para participar na pesquisa. A lista tem a mesma sintaxe que a lista do operador sindical. Não é possível aparecer em conjunto com TabularSource. | |
SearchPredicate | string |
✔️ | Uma expressão booleana a ser avaliada para cada registo na entrada. Se devolver true , o registo será exportado. Veja Pesquisar sintaxe predicado. |
Sintaxe de predicado de pesquisa
O SearchPredicate permite-lhe procurar 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 colocação de um asterisco universal (*
) no termo, conforme mostrado na tabela seguinte.
Literal | Operador |
---|---|
billg |
has |
*billg |
hassuffix |
billg* |
hasprefix |
*billg* |
contains |
bi*lg |
matches regex |
Também pode restringir a pesquisa a uma coluna específica, procurar uma correspondência exata em vez de uma correspondência de termos ou procurar por expressão normal. A sintaxe para cada um destes casos é apresentada na tabela seguinte.
Syntax | Explicação |
---|---|
ColumnName: StringLiteral |
Esta sintaxe pode ser utilizada para restringir a pesquisa a uma coluna específica. O comportamento predefinido é procurar em todas as colunas. |
ColumnName== StringLiteral |
Esta sintaxe pode ser utilizada para procurar correspondências exatas de uma coluna com um valor de cadeia. O comportamento predefinido é procurar uma correspondência de termos. |
Colunamatches regex StringLiteral |
Esta sintaxe indica a correspondência de expressões regular, na qual StringLiteral é o padrão regex. |
Utilize expressões booleanas para combinar condições e criar pesquisas mais complexas. Por exemplo, "error" and x==123
resultaria numa pesquisa de registos que tenham o termo error
em quaisquer colunas e o valor 123
na x
coluna.
Nota
Se tabularSource e TableSources forem omitidos, a pesquisa será realizada em todas as tabelas e vistas sem restrições da base de dados no âmbito.
Procurar exemplos de sintaxe predicado
# | Syntax | Significado (equivalente where ) |
Comentários |
---|---|---|---|
1 | search "err" |
where * has "err" |
|
2 | search in (T1,T2,A*) "err" |
união T1,T2,A* | em que * 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 são sensíveis a maiúsculas e 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) |
Observações
Ao contrário do operador find, o search
operador não suporta o seguinte:
withsource=
: o resultado incluirá sempre uma coluna denominada$table
de tipostring
cujo valor é o nome da tabela a partir da qual cada registo foi obtido (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 aoproject-smart
esquema de saída.
Exemplos
Pesquisa de termos global
Procure um termo em todas as tabelas e vistas sem restrições da base de dados no âmbito.
search "Green"
O resultado contém registos das Customers
tabelas , Products
e SalesTable
. Os Customers
registos mostram todos os clientes com o apelido "Verde" e os Products
registos e SalesTable
mostram produtos com alguma menção de "Verde".
Pesquisa de termos globais condicionais
Procure registos que correspondam a ambos os termos em todas as tabelas sem restrições e vistas da base de dados no âmbito.
search "Green" and ("Deluxe" or "Proseware")
Procurar numa tabela específica
Procure apenas na Customers
tabela.
search in (Products) "Green"
Pesquisa sensível a maiúsculas e minúsculas
Procure registos que correspondam a termos sensíveis a maiúsculas e minúsculas em todas as tabelas sem restrições e vistas da base de dados no âmbito.
search kind=case_sensitive "blue"
Procurar colunas específicas
Procure um termo nas colunas "FirstName" e "LastName" em todas as tabelas e vistas sem restrições da base de dados no âmbito.
search FirstName:"Aaron" or LastName:"Hughes"
Limitar a pesquisa por carimbo de data/hora
Procure um termo em todas as tabelas e vistas sem restrições da base de dados no âmbito se o termo aparecer num registo com uma data superior à data indicada.
search "Hughes" and DateKey > datetime('2009-01-01')
Sugestões de Desempenho
# | Dica | Preferir | Mais |
---|---|---|---|
1 | Preferir utilizar um operador único search em vários operadores consecutivos search |
search "billg" and ("steveb" or "satyan") |
procurar "billg" | procurar "steveb" ou "satyan" |
2 | Preferir filtrar dentro do search operador |
search "billg" and "steveb" |
pesquisa * | em que * tem "billg" e * tem "steveb" |
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários