1、sql中除法运用
round(age/10,1),round(age/10) 只保留正数部分,小数四舍五入
trunc(age/10,1),trunc(age/10) 只保留正数部分
2、截取字符串,如截图身份证号的出生年
2015-to_number(substr(v.pax_id_nbr,7,4))
为确保可截取得数字,一般配合长度length(v.pax_id_nbr)=18使用
3.根据条件得不同值,case when运用
case
when vv.duty_code='F' and vv.serial_no=1 then vv.food_name||'(机长)'
when …… then ……
else vv.food_name
end
4.添加rownumber,方便查询某一类型的第一项
(1)row_number() over (partition byi.tdnr order byi.tcn_iddesc)as rowno
(2)select log_id from crewlog where rownum=1 order by log_id desc
(3)若是查询自增列的最大项,则直接使用MAX。select max(id) from crewlog_oa
5.相似列合并为一行
如: 1 a
1 b
合并为一行 1 a,b
wm_concat