回傳一個 變體 (字串) ,表示某個數字在計算出的範圍內出現的位置。
語法
分割 (編號、開始、停止、間隔)
分割函數語法包含以下參數:
| 引數 | 描述 |
|---|---|
| 編號 | 必要。 你要用來比較範圍來評估的整數值。 |
| 開始 | 必要。 整數,也就是整體數字範圍的起點。 這個數字不能小於0。 |
| 停下 | 必要。 整數,也就是整體數字範圍的末端。 這個數字不能等於或小 於起始。 |
| interval | 必要。 整數,表示分割區在起 始 與 終止) 之間的整體數字範圍內的大小 (。 |
註解
分割函數會識別數字所落入的特定範圍,並回傳描述該範圍的變體字串 () 。 分割函數在查詢中最有用。 你可以建立一個選擇查詢,顯示有多少訂單落在不同範圍內,例如訂單值從 1 到 1000、1001 到 2000 等等。
下表展示了如何利用三組 起始、 停止和 區間 參數來決定範圍。 第一範圍和最後範圍欄位顯示分割 區回傳 的內容。 音域以 lowervalue:uppervalue 表示,其中低端 (低值) 區間與高端 (上值) 區分,並以冒號 (:) 。
| 開始 | 停下 | 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: " |
在上表中,第三行顯示開始與停止定義一組無法被區間整除的數字時的結果。 最後一個範圍延伸到 (11個數字) , 儘管 區間 是20。
如有必要, Partition 回傳一個帶有足夠前置空格的範圍,使得冒號左右兩側的字元數與 停止字元數相等,加一。 這確保了如果你用 Partition 搭配其他數字,後續排序操作中所產生的文字能被正確處理。
若區 間 為 1,則範圍為 number:number,無論 起始 與 停止 參數為何。 例如,若區 間 為 1, 數字 為 100, 停止 為 1000, 分割 會回傳「100: 100」。
如果任何部分是 Null,Partition 會回傳 Null。
查詢範例
| 運算式 | 結果 |
|---|---|
| 選擇 (單位價格區分,40,240,20) AS 價格範圍,計數 (產品銷售。單價) 計數 來自產品銷售群組 按單位價格分割, (單價,40,240,20) ; | 為「unitprice」欄位中的數值建立一組範圍,範圍從「開始」 (40) 到 240 () ,且「區間」相等 (20) 大小,並計算該區間的「單位價格」計數。 在 PriceRange 欄顯示範圍,count 在 'Count' 欄。 |
VBA 範例
這個範例假設你有一個包含貨運欄位的訂單表。 它建立了一個選擇程序,計算貨運成本落入多個區間的訂單數量。 分割 函數 首先用來建立這些範圍,接著 SQL 計數函數會計算每個範圍內的訂單數量。 在此範例中,分割函數的參數為 start = 0,stop = 500,interval = 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);