oracle 开窗函数使用,merge

select cast(last_operate_tm as timestamp) query_time,
plate_num,
container_no,
waybill_no,
operate_zone_code,
waybill_route_status,
operate_batch_code,
lostime,
warntime,
zone_code,
high_worth,
countnum,
exception_node,
appreciation_service_type,
cast(doubt_miss_tm as timestamp) doubt_miss_tm
from (select count(*) over(partition by nvl(nvl2(plate_num, plate_num, container_no), dbms_random.value), zone_code, to_char(doubt_miss_tm, 'yyyy-MM-dd hh24:mi') order by nvl2(plate_num, plate_num, container_no), zone_code, to_char(doubt_miss_tm, 'yyyy-MM-dd hh24:mi')) countnum,
row_number() over(partition by nvl(nvl2(plate_num, plate_num, container_no), dbms_random.value), zone_code, to_char(doubt_miss_tm, 'yyyy-MM-dd hh24:mi') order by nvl2(plate_num, plate_num, container_no), zone_code, to_char(doubt_miss_tm, 'yyyy-MM-dd hh24:mi')) rw,
last_operate_tm,
plate_num,
container_no,
waybill_no,
operate_zone_code,
waybill_route_status,
operate_batch_code,
round(to_number(sysdate - last_operate_tm) * 1440) as lostime,
round(to_number(sysdate - doubt_miss_tm) * 1440) as warntime,
zone_code,
high_worth,
exception_node,
appreciation_service_type,
doubt_miss_tm
from tt_doubt_miss m, tm_department t
where m.zone_code = t.dept_code
and t.dist_code in ('755')) A
WHERE countnum = RW
ORDER BY LAST_OPERATE_TM ASC


1.like 查询
select * from book b where b.name like '%\_%' escape '\';
2.反索引函数
select * from book b where reverse(b.name) like reverse('%02');
3.rollup 函数

MERGE INTO TT_UNIQUE_TCMSEXP TA
USING (SELECT *
FROM (SELECT A.*,
ROW_NUMBER() OVER(PARTITION BY A.AEMS_EXP_ID ORDER BY A.TCMS_CREAT_TM DESC) RN
FROM TT_CONVEYANCE_EXP A
WHERE A.CREATE_TM >= V_EXP_SYNCTM
AND A.CREATE_TM <= V_SYSTM + 1 / (24 * 60))
WHERE RN = 1) TB
ON (TA.AEMS_EXP_ID = TB.AEMS_EXP_ID)
WHEN MATCHED THEN
UPDATE
SET TA.DEPART_TYPE = TB.DEPART_TYPE,
TA.VEHICLE_CODE = TB.VEHICLE_CODE,
TA.EXP_TYPE = TB.EXP_TYPE,
TA.EXP_DESC = TB.EXP_DESC,
TA.EXP_RESULT = TB.EXP_RESULT,
TA.EXP_REMARK = TB.EXP_REMARK,
TA.AGENT_NAME = TB.AGENT_NAME,
TA.MODIFY_TM = V_SYSTM
WHEN NOT MATCHED THEN
INSERT
(AEMS_EXP_ID,
DEPART_TYPE,
VEHICLE_CODE,
LINE_CODE,
CONVEYANCE_NAME,
SEND_BILL_ID,
EXP_TYPE,
EXP_DESC,
EXP_RESULT,
EXCEPTION_CODE,
EXP_REMARK,
EXP_SOURCE,
CREATE_TM,
MODIFY_TM,
AGENT_NAME,
IS_SPECIAL,
SEND_DT,
TCMS_CREAT_TM)
VALUES
(TB.AEMS_EXP_ID,
TB.DEPART_TYPE,
TB.VEHICLE_CODE,
TB.LINE_CODE,
TB.CONVEYANCE_NAME,
TB.SEND_BILL_ID,
TB.EXP_TYPE,
TB.EXP_DESC,
TB.EXP_RESULT,
DECODE(TB.EXP_RESULT,
'航班取消',
'1',
'航班拉货',
'2',
'火车取消',
'3',
'火车拉货',
'4',
'5'),
TB.EXP_REMARK,
TB.EXP_SOURCE,
V_SYSTM,
V_SYSTM,
TB.AGENT_NAME,
TB.IS_SPECIAL,
TB.SEND_DT,
TB.TCMS_CREAT_TM);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值