我想使這個適當的工作代碼更漂亮一點。如何簡化大CASE語句?
SET @weightClass = CASE
WHEN @totalWeight < 50 THEN 'A'
WHEN @totalWeight < 100 THEN 'B'
WHEN @totalWeight < 150 THEN 'C'
WHEN @totalWeight < 200 THEN 'D'
WHEN @totalWeight < 250 THEN 'E'
WHEN @totalWeight < 300 THEN 'F'
WHEN @totalWeight < 350 THEN 'G'
WHEN @totalWeight < 400 THEN 'H'
WHEN @totalWeight < 450 THEN 'I'
WHEN @totalWeight < 500 THEN 'J'
WHEN @totalWeight < 550 THEN 'K'
WHEN @totalWeight < 600 THEN 'L'
WHEN @totalWeight < 650 THEN 'M'
WHEN @totalWeight < 700 THEN 'N'
WHEN @totalWeight < 750 THEN 'O'
WHEN @totalWeight < 800 THEN 'P'
WHEN @totalWeight < 850 THEN 'Q'
WHEN @totalWeight < 900 THEN 'R'
WHEN @totalWeight < 950 THEN 'S'
ELSE 'T'
END
我想有可能是使用字母和50的邏輯增量的ASCII值沒有可能(和可行的),使這個辦法?如何以及是否會顯着減慢查詢速度?
可能while循環?並且由於增量按照字母順序排列,所以它不應該太難以使其工作。 – imBlue
定義一個weightClass表,可能有獨佔的權重範圍,加入一個條件之間。 – user6144226