Devolve uma Variante (Cadeia) a indicar onde ocorre um número numa série de intervalos calculados.
Sintaxe
Partição(número, início, fim, intervalo)
A sintaxe da função Partição tem os seguintes argumentos (argumento: valor que fornece informações a uma acção, evento, método, propriedade, função ou procedimento.):
| Argumento |
Descrição |
| número |
Obrigatório. Número inteiro que pretende avaliar relativamente 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. |
| fim |
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 início. |
| intervalo |
Obrigatório. Número inteiro que especifica o tamanho das partições no intervalo geral de números (entre início e fim). |
Observações
A função Partição identifica o intervalo específico no qual o número está e devolve uma Variante (Cadeia) que descreve esse intervalo. A função Partição é muito útil nas consultas. Pode criar uma consulta seleccionar que mostra o número de encomendas que estão em vários intervalos como, por exemplo, os valores de encomendas de 1 a 1000, de 1001 a 2000, e assim sucessivamente.
A tabela que se segue mostra como os intervalos são determinados utilizando três conjuntos de argumentos início, fim e intervalo. As colunas Primeiro Intervalo e Último Intervalo mostram o que Partição devolve. Os intervalos são representados por valorinferior:valorsuperior, em que o valor mínimo (valorinferior) do intervalo está separado do valor máximo (valorsuperior) do intervalo por dois pontos (:).
| início |
fim |
intervalo |
Antes do Primeiro |
Primeiro Intervalo |
Último Intervalo |
Depois do Ú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 quando os argumentos início e fim definem um conjunto de números que é possível dividir uniformemente pelo intervalo. O último intervalo expande-se para fim (11 números) mesmo se intervalo for 20.
Se for necessário, Partição devolve um intervalo sem espaços em branco no início suficientes de modo a existir o mesmo número de caracteres à esquerda e à direita dos dois pontos, uma vez que são caracteres em fim, mais um. Isto garante que, caso utilize Partição com outros números, o texto resultante seja tratado correctamente durante qualquer operação de ordenação subsequente.
Se intervalo for 1, o intervalo será número:número, independentemente dos argumentos início e fim. Por exemplo, se intervalo for 1, número é 100 e fim é 1000, Partição devolve " 100: 100".
Se alguma das partes for Nulo (Null: valor que pode introduzir num campo ou utilizar em expressões ou consultas para indicar dados em falta ou desconhecidos. No Visual Basic, a palavra-chave Null indica um valor nulo (Null). Alguns campos, como campos de chave primária, não podem conter Null.), Partição devolve Nulo.
Exemplo
Este exemplo assume que o utilizador possui uma tabela Encomendas com um campo Frete. Cria um procedimento de selecção que conta o número de encomendas para as quais o custo do frete coincide com cada um dos vários intervalos. A função Partição é utilizada para estabelecer estes intervalos e, em seguida, a função SQL Contar conta o número de encomendas em cada intervalo. Neste exemplo, os argumentos para a função Partição são início = 0, fim = 500, intervalo = 50. Deste modo, o primeiro intervalo seria 0:49, e assim sucessivamente até 500.
SELECT DISTINCTROW Partição([frete],0, 500, 50) AS Intervalo,
Contar(Encomendas.Frete) AS Contar
FROM Encomendas
GROUP BY Partição([frete],0,500,50);