oracle中sql小问题,不断更新

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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值