Retorna uma Variant (Cadeia de Caracteres) indicando onde um número ocorre dentro de uma série calculada de intervalos.
Sintaxe
Partição( número, início, parada, intervalo)
A sintaxe da função Partição tem esses argumentos:
Argumento |
Descrição |
número |
Obrigatório. Número inteiro que você deseja avaliar em relação aos intervalos. |
início |
Obrigatório. Número inteiro que é o início do intervalo geral de números. O número não pode ser menor que 0. |
parar |
Obrigatório. Número inteiro que é o fim do intervalo geral de números. O número não pode ser igual ou menor do que iniciar. |
intervalo |
Obrigatório. Número inteiro que especifica o tamanho das partições dentro do intervalo geral de números (entre inicial e superior). |
Comentários
A função Partition identifica o intervalo específico no qual o número cai e retorna uma Variant (Cadeia de Caracteres) descrevendo esse intervalo. A função Partição é mais útil em consultas. Você pode criar uma consulta selecionada que mostra quantos pedidos estão dentro de vários intervalos, por exemplo, valores de pedido de 1 a 1000, 1001 a 2000 e assim por diante.
A tabela a seguir mostra como os intervalos são determinados usando três conjuntos de argumentos de início, parada e intervalo . As colunas Primeiro Intervalo e Último Intervalo mostram o que a Partição retorna. Os intervalos são representados por lowervalue:uppervalue, em que a extremidade baixa (lowervalue) do intervalo é separada do high-end (uppervalue) do intervalo com um ponto (:).
início |
parar |
intervalo |
Antes de Primeiro |
Primeiro Intervalo |
Último Intervalo |
Após o Ú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 mostrada acima, a terceira linha mostra o resultado ao iniciar e parar definir um conjunto de números que não podem ser divididos uniformemente por intervalo. O último intervalo se estende para parar (11 números), mesmo que o intervalo seja 20.
Se necessário, Partição retorna um intervalo com espaços líderes suficientes para que haja o mesmo número de caracteres à esquerda e à direita do cólon, pois há caracteres em parada, mais um. Isso garante que, se você usar Partição com outros números, o texto resultante será tratado corretamente durante qualquer operação de classificação subsequente.
Se o intervalo for 1, o intervalo será number:number, independentemente dos argumentos de inicialização e parada . Por exemplo, se o intervalo for 1, o número for 100 e a parada for 1000, a partição retornará " 100: 100".
Se alguma das partes for Null, Partição retornará um Null.
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 "unitprice" de "start"(40) a "stop"(240) com tamanho igual "interval"(20) e calcula a contagem de "unitprice" nos respectivos intervalos. Exibe os intervalos na coluna PriceRange e conta na coluna 'Count'. |
Exemplo de VBA
Este exemplo pressupõe que você tenha uma tabela Orders que contém um campo Freight. Ele cria um procedimento seleto que conta o número de pedidos para os quais o custo do frete cai em cada um dos vários intervalos. A função Partição é usada primeiro para estabelecer esses intervalos, em seguida, a função Contagem de SQL conta o número de pedidos em cada intervalo. Neste exemplo, os argumentos para a função Partição são iniciar = 0, parar = 500, intervalo = 50. O primeiro intervalo seria, portanto, 0:49 e assim por diante 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);