我從另一個表中傳遞一系列double值,範圍從-1到1.如果值是正數,我想使它與1之間的差值(即0.2會變成0.8)。如果價值是負數,我希望它現在是1以上的三角形負數(即0.2將是1.2)。SQL案例值切換
由於某些原因,當我這樣做時,它會從上一個表中取值,並使它們符合第一個WHEN的條件(因此在此設置中,所有傳入的值都被設置爲正數,並打到第一個什麼時候)。
爲什麼不能正常工作?
SELECT SnapshotDay
,SnapshotHour
,CASE
WHEN Delta > 0.0 THEN (1 - Delta)
WHEN Delta <= 0.0 THEN (abs(Delta) + 1)
END as Adjust
FROM #Difference
例子:
-0.00118341262814151 --> 0.998816587371859
0.00130811285278974 --> 0.99869188714721
請告訴我'delta'的數據類型? –
你的例子是你想要的結果還是不正確的結果? –
Double;這是不正確的 - 斯坦利的觀察讓我完全避免它。 – RoyalGoat