跳至內容
Astera Technology

負偏差很大,為何仍通過容許範圍報表?

本例上限套絕對幅度,零兩邊都要核。

下載完整個案資料及參考答案 ↓

準備報表輸入

本例容許整數偏差幅度最多二。delta<=2 只限制正邊,所以負五也過。BETWEEN -2 AND 2 同時定兩邊,毋須計絕對值;二只是例子,不是工程標準。

以下記錄及報表規則均為原創假設。在新 SQLite 測試資料庫重做建表,預覽包含此小型例子每張表。

假設輸入:deviations
編號偏差
A-5
B-2
C2
D3
下載可編輯 CSV ↓
完整建表及插入假設資料
CREATE TABLE deviations(id TEXT PRIMARY KEY,delta INTEGER NOT NULL); INSERT INTO deviations VALUES('A',-5),('B',-2),('C',2),('D',3);

比較錯誤及更正結果

錯誤 SELECT:重現問題
SELECT id,delta FROM deviations WHERE delta<=2 ORDER BY id;
錯誤查詢的逐行結果
編號偏差
A-5
B-2
C2
下載可編輯 CSV ↓
更正 SELECT
SELECT id,delta FROM deviations WHERE delta BETWEEN -2 AND 2 ORDER BY id;
更正查詢的逐行結果
編號偏差
B-2
C2
下載可編輯 CSV ↓

更正留負二、正二,剔負五、正三,輸出仍保原有正負號。

用新副本測邊界

加零及有號 64 位最低值,零符合;最低值由下界剔除,不用對該極端整數取絕對值。

另開新資料庫重做原建表,才套下列改動及更正查詢。空結果在表內用已標明空結果文字表示,不是假資料行。

邊界改動及更正查詢
INSERT INTO deviations VALUES('E',0),('F',-9223372036854775808);
SELECT id,delta FROM deviations WHERE delta BETWEEN -2 AND 2 ORDER BY id;
邊界查詢的逐行結果
編號偏差
B-2
C2
E0
下載可編輯 CSV ↓

負五比正二小,便算符合嗎?

查看參考答案

不算,幅度五超本例二;邊界負二、正二都符合。

相關資源