Retorna uma Variant (String) que indica onde um número ocorre em uma série calculada de intervalos.
Sintaxe
Partição (número, início, parada, intervalo)
A sintaxe da função Partição tem estes 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 inferior a 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 que o início. |
| intervalo | Obrigatório. Número inteiro que especifica o tamanho das partições dentro do intervalo geral de números (entre o início e a parada). |
Comentários
A função Partition identifica o intervalo específico no qual o número cai e retorna uma Variant (String) que descreve esse intervalo. A função Partition é mais útil em consultas. Você pode criar uma consulta seleção que mostre quantos pedidos se enquadram em 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 inferior (lowervalue) do intervalo é separada da extremidade superior (uppervalue) do intervalo por dois-pontos (:).
| Início | parar | intervalo | Antes da primeira vez | Primeiro Intervalo | Último Intervalo | Após a última |
|---|---|---|---|---|---|---|
| 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 quando o início e a parada definem um conjunto de números que não podem ser divididos igualmente por intervalo. O último intervalo se estende até parar (11 números), mesmo que o intervalo seja 20.
Se necessário, a Partição retorna um intervalo com espaços à esquerda suficientes para que haja o mesmo número de caracteres à esquerda e à direita dos dois-pontos que há caracteres em parar, mais um. Isso garante que, se você usar Partition com outros números, o texto resultante será tratado corretamente durante qualquer operação de classificação subsequente.
Se interval for 1, o intervalo será número:número, independentemente dos argumentos de início e término . Por exemplo, se interval for 1, number for 100 e stop for 1000, Partition retornará " 100: 100".
Se qualquer uma das partes for Nula, a Partição retornará uma Nula.
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) a "parada"(240) com tamanho igual de "intervalo"(20) e calcula a contagem de "preçounitário" nos respectivos intervalos. Exibe os intervalos na coluna PriceRange e a contagem na coluna 'Count'. |
Exemplo de VBA
Este exemplo pressupõe que você tenha uma tabela Pedidos que contenha um campo Frete. Ele cria um procedimento de seleção que conta o número de pedidos para os quais o custo do frete se enquadra em cada um dos vários intervalos. A função Partition é usada primeiro para estabelecer esses intervalos e, em seguida, a função SQL Count conta o número de pedidos em cada intervalo. Neste exemplo, os argumentos para a função Partition são start = 0, stop = 500, interval = 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);