Devolve uma Variante (Cadeia) que indica onde um número ocorre dentro de uma série calculada de intervalos.
Sintaxe
Partição( número, iniciar, parar, intervalo)
A sintaxe da função Partição tem estes argumentos:
Argumento |
Descrição |
número |
Obrigatório. Número inteiro que pretende avaliar em relação aos intervalos. |
começar |
Obrigatório. Número inteiro que é o início do intervalo global de números. O número não pode ser inferior a 0. |
parar |
Obrigatório. Número inteiro que é o fim do intervalo global de números. O número não pode ser igual ou menor do que o início. |
interval |
Obrigatório. Número inteiro que especifica o tamanho das partições dentro do intervalo global de números (entre início e início). |
Observações
A função Partition identifica o intervalo específico no qual o número cai e devolve uma Variante (Cadeia) que descreve esse intervalo. A função Partition é mais útil em consultas. Pode criar uma consulta selecionar que mostre quantas encomendas se enquadram em vários intervalos, por exemplo, valores de encomendas de 1 a 1000, 1001 a 2000, entre outros.
A tabela seguinte mostra como os intervalos são determinados com três conjuntos de argumentos de início, paragem e intervalo . As colunas Primeiro Intervalo e Último Intervalo mostram o que a Partição devolve. Os intervalos são representados por lowervalue:uppervalue, em que a extremidade baixa (valor inferior) do intervalo é separada da extremidade alta (valor superior) do intervalo com dois pontos (:).
começar |
parar |
intervalo |
Antes da Primeira |
Primeiro Intervalo |
Último Intervalo |
Depois de Último |
0 |
99 |
5 |
" :-1" |
" 0: 4" |
" 95: 99" |
" 100: " |
20 |
199 |
10 |
" : 19" |
" 20: 29" |
" 190: 199" |
" 200: " |
100 |
1010 |
20 |
" : 99" |
" 100: 119" |
" 1000: 1010" |
" 1011: " |
Na tabela apresentada acima, a terceira linha mostra o resultado ao iniciar e parar definir um conjunto de números que não pode ser dividido uniformemente por intervalo. O último intervalo estende-se até parar (11 números), embora o intervalo seja 20.
Se necessário, a Partição devolve um intervalo com espaços à esquerda suficientes para que haja o mesmo número de carateres à esquerda e à direita dos dois pontos, uma vez que existem carateres em paragem, mais um. Isto garante que, se utilizar a Partição com outros números, o texto resultante será processado corretamente durante qualquer operação de ordenação subsequente.
Se o intervalo for 1, o intervalo será number:number, independentemente dos argumentos iniciar e parar . Por exemplo, se o intervalo for 1, núm é 100 e parar é 1000, Partição devolve " 100: 100".
Se qualquer uma das partes for Nulo, a Partição devolve um Valor Nulo.
Exemplos de consulta
Expressão |
Resultados |
SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); |
Cria um conjunto de intervalos para os valores no campo "preçounitário" de "início"(40) para "stop"(240) com o tamanho igual de "interval"(20) e calcula a contagem de "preçounitário" nos respetivos intervalos. Apresenta os intervalos na coluna PriceRange e a contagem na coluna "Count". |
Exemplo de VBA
Este exemplo pressupõe que tem uma tabela Encomendas que contém um campo Transporte. Cria um procedimento selecionado que conta o número de encomendas para as quais o custo do transporte se enquadra em cada um dos vários intervalos. A função Partition é utilizada primeiro para estabelecer estes intervalos e, em seguida, a função Contagem de SQL conta o número de encomendas em cada intervalo. Neste exemplo, os argumentos para a função Partição são start = 0, stop = 500, interval = 50. Por conseguinte, o primeiro intervalo seria 0:49 e assim sucessivamente até 500.
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count FROM Orders GROUP BY Partition([freight],0,500,50);