|
Функция Partition | | Синтаксис Partition(number, start, stop, interval) | Возвращает значение типа Variant (String), указывающее положение числа в вычисляемом наборе диапазонов. | Параметры Наименование | Описание | Number | Обязательный. Целое число, для которого проверяется положение относительно набора диапазонов. | Start | Обязательный. Целое число, задающее начало набора диапазонов. Это число должно быть неотрицательным. | Stop | Обязательный. Целое число, задающее конец набора диапазонов. Это число должно быть больше, чем значение start. | Interval | Обязательный. Целое число, задающее размер каждого диапазона в наборе диапазонов от start до stop. Это число не может быть меньше 1. |
| Замечания
start |
stop |
interval |
До первого |
Первый диапазон |
Последний диапазон |
За последним |
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: " |
В приведенной выше таблице третья строка описывает ситуацию, когда разность между значениями аргументов start
и stop не делится нацело на значение аргумента interval. Верхняя граница последнего диапазона равняется
значению аргумента stop (1010), хотя interval имеет значение 20.
При необходимости, функция Partition возвращает значение с добавлением стольких пробелов, чтобы число символов
слева и справа от двоеточия было на единицу больше, чем в значении аргумента stop. Это гарантирует корректность
последующих операций сортировки. Если interval равняется 1, возвращаемый диапазон имеет вид number:number, независимо
от значений аргументов start и stop. Например, если interval имеет значение 1, number имеет значение 100 и stop имеет значение 1000, функция Partition
возвращает строку " 100: 100". Если любой из аргументов имеет значение Null, возвращается значение Null. | Пример использования 'В примере предполагается,
что таблица "Orders"
'содержит поле "Freight". Создается
запрос
'который подсчитывает число заказов,
'расходы на доставку которых попадают в
каждый
'диапазон. Функция Partition задает
'границы диапазонов, функция SQL Count
'подсчитывает число заказов, попадающих
'в каждый диапазон. В примере аргументы
'функции Partition имеют следующие значения:
'начало = 0, конец = 500, интервал = 50.
'Первым диапазоном будет 0:49, и так далее до
500
SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50); | Дополнительная информация Категория: Обработка массивов и строк Еще функции: Array, Asc, Filter, InStr, InStrRev, Join, LBound, LCase, Left, Len, LTrim, Mid, Partition, Replace, Right, RTrim, Space, Spc, Split, StrComp, StrConv, String, StrReverse, Tab, Trim, UBound, UCase |
|
|