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. |
| Começar | 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 iniciar e parar). |
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 (:).
| Começar | 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);