Devolve uma Variante (Cadeia) que indica onde ocorre um número numa série calculada de intervalos.
Sintaxe
Partição (número; início; parar; intervalo)
A sintaxe da função Partição tem os seguintes argumentos:
| Argumento | Descrição |
|---|---|
| número | Obrigatório. Número inteiro que pretende avaliar em comparação com os intervalos. |
| Início | Obrigatório. Número inteiro que corresponde ao 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 corresponde ao fim do intervalo global de números. O número não pode ser igual ou inferior a início. |
| interval | Obrigatório. Número inteiro que especifica o tamanho das partições dentro do intervalo geral de números (entre iniciar e parar). |
Observações
A função Partition identifica o intervalo específico no qual o número cai e retorna uma Variant (String) descrevendo esse intervalo. A função Partição é mais útil em consultas. Pode criar uma consulta selecionar que mostre quantas encomendas se inserem dentro de vários intervalos, por exemplo, valores de encomenda de 1 a 1000, 1001 a 2000 e assim sucessivamente.
A tabela seguinte mostra como os intervalos são determinados através de três conjuntos de argumentos start, stop e interval. As colunas Primeiro Intervalo e Último Intervalo mostram o que a Partição devolve. Os intervalos são representados por valor:valor inferior, em que o valor inferior do intervalo é separado do ponto final (valor superior) do intervalo com dois pontos (:).
| Início | parar | intervalo | Antes da Primeira | Primeira Gama | Último Intervalo | Depois da Ú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 o fim definem um conjunto de números que não podem ser divididos uniformemente por intervalo. O último intervalo prolonga-se até parar (11 números) mesmo que o intervalo seja 20.
Se necessário, a Partição devolve um intervalo com espaços à esquerda e à direita do dois pontos para que exista o mesmo número de carateres à esquerda e à direita dos dois pontos que existem carateres em parada, mais um. Isso garante que, se você usar Partição com outros números, o texto resultante será manipulado corretamente durante qualquer operação de classificação subsequente.
Se o intervalo for 1, o intervalo é núm:número, independentemente dos argumentos de início e fim . Por exemplo, se o intervalo for 1, o número for 100 e a paragem for 1000, a Partição devolve " 100: 100".
Se qualquer uma das partes for Nula, a Partição devolve um valor Nulo.
Exemplos de consulta
| Expressão | Resultados |
|---|---|
| SELECT Partição(preçounitário,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 "start"(40) a "stop"(240) com tamanho de "intervalo"(20) igual e calcula a contagem de "preçounitário" nos respetivos intervalos. Apresenta os intervalos na coluna PriceRange e a contagem na coluna "Contagem". |
Exemplo do VBA
Este exemplo pressupõe que tem uma tabela Encomendas que contém um campo Transporte. Ele cria um procedimento de seleção que conta o número de pedidos para os quais o custo de frete cai em cada um dos vários intervalos. A função Partição é utilizada primeiro para estabelecer estes intervalos e, em seguida, a função Contar SQL conta o número de encomendas em cada intervalo. Neste exemplo, os argumentos para a função Partição são início = 0, paragem = 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);