Oracle的SQL怎樣對字段值進行數據分段

作者:iamlaosong

數據分析中用SQL取數時需要對郵件重量進行分段,簡單的分段直接使用條件語句就可以了,例如:

select 
case
when jihezl <2 then '輕件'
when jihezl>=2 and jihezl <20 then '重件'
else '超重件'
end as zlqj,

也可以用decode函數嵌套完成這個功能,不過比較麻煩,也不直觀,如上面的分段:

select 
decode(sign(jihezl-2),-1,'輕件',0,'重件',
    1,decode(sign(jihezl-20),-1,'重件',0,'超重件',1,'超重件')) as zlqj,

很多情況下,用取整函數也可以達到分段的目的,或者配合上面的條件語句一起使用,如:

select 
case when jihezl <20 then FLOOR(jihezl) else 20 end as zlqj,

這個語句將20kg以內的分成0-19段,20以上都是20段。


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章