Devuelve un tipo de datos Variant (String) que indica dónde aparece un número dentro de una serie calculada de rangos.
Sintaxis
Partición( número, inicio, detención, intervalo)
La sintaxis de la función Partición tiene estos argumentos:
Argumento |
Descripción |
número |
Obligatorio. Número entero que se desea evaluar con respecto a los rangos. |
iniciar |
Requerido. Número entero que es el comienzo del rango general de números. El número no puede ser menor que 0. |
detener |
Requerido. Número entero que es el final del rango general de números. El número no puede ser igual o menor que inicio. |
intervalo |
Requerido. Número entero que especifica el tamaño de las particiones dentro del rango general de números (entre inicio y ssuperior). |
Comentarios
La función Partition identifica el rango concreto en el que se encuentra el número y devuelve un tipo de datos Variant (String) que describe ese rango. La función Partición es muy útil en consultas. Puede crear una consulta de selección que muestre cuántos pedidos se encuentran dentro de varios rangos, por ejemplo, valores de pedido de 1 a 1000, 1001 a 2000, etc.
La tabla siguiente muestra cómo se determinan los rangos mediante tres conjuntos de argumentos de inicio, detención e intervalo . Las columnas Primer rango y Último rango muestran lo que devuelve Partición . Los rangos se representan mediante lowervalue:uppervalue, donde el extremo bajo (valor inferior) del rango se separa del extremo alto (valor superior) del rango con dos puntos (:).
iniciar |
detener |
intervalo |
Antes de la primera |
Primer rango |
Último intervalo |
Después de la ú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: " |
En la tabla que se muestra arriba, la tercera línea muestra el resultado al iniciar y detener define un conjunto de números que no se puede dividir uniformemente por intervalo. El último intervalo se extiende hasta detener (11 números) aunque el intervalo sea 20.
Si es necesario, Partición devuelve un rango con suficientes espacios iniciales para que haya el mismo número de caracteres a la izquierda y a la derecha de los dos puntos que hay en detener, más uno. Esto garantiza que, si usa Partición con otros números, el texto resultante se controlará correctamente durante cualquier operación de ordenación posterior.
Si el intervalo es 1, el intervalo es número:número, independientemente de los argumentos inicio y fin . Por ejemplo, si el intervalo es 1, número es 100 y detener 1000, partición devuelve " 100: 100".
Si cualquiera de las partes es Null, Partition devuelve un Null.
Ejemplos de consulta
Expression |
Resultados |
SELECT Partition(unitprice,40,240,20) AS PriceRange, count(productsales.unitprice) AS Count FROM productSales GROUP BY Partition(unitprice,40,240,20); |
Crea un conjunto de rangos para los valores del campo "precioUnidad" de "inicio"(40) a "detener"(240) con el mismo tamaño de "intervalo"(20) y calcula el recuento de "precioUnidad" en los intervalos respectivos. Muestra los rangos de la columna PriceRange y cuenta en la columna 'Count'. |
Ejemplo VBA:
En este ejemplo se supone que tiene una tabla Pedidos que contiene un campo Transporte. Crea un procedimiento de selección que cuenta el número de pedidos para los que el costo de transporte se encuentra en cada uno de varios rangos. La función Partición se usa primero para establecer estos rangos y, a continuación, la función Contar SQL cuenta el número de pedidos en cada rango. En este ejemplo, los argumentos de la función Partición son start = 0, stop = 500, interval = 50. Por tanto, el primer rango sería 0:49 y así sucesivamente hasta 500.
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count FROM Orders GROUP BY Partition([freight],0,500,50);