`
taiwei.peng
  • 浏览: 236173 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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);
分享到:
评论

相关推荐

    oracle Merge 函数.doc

    "Oracle Merge 函数详解" Oracle Merge 函数是一种强大的数据操作语句,用于从一个表中选择一些数据更新或者插入到另一个表中。Merge 函数的使用方式有三种:只更新不插入、只插入不更新和既插入也更新。 Merge ...

    oracle merge into的使用

    标题:Oracle Merge Into 的使用 描述详解:Oracle Merge Into 是一个功能强大的SQL语句,它在Oracle数据库系统中被广泛用于处理数据同步、更新或插入操作。与传统的UPDATE和INSERT语句相比,Merge Into 提供了更为...

    Oracle中merge into的使用

    在Oracle数据库中,`MERGE INTO`语句是一种强大的数据操作工具,它允许你在一个步骤中执行更新(UPDATE)和插入(INSERT)操作,从而提高了数据处理的效率和灵活性。这个命令尤其适用于需要同步两个表的数据时,比如...

    oracle同一个表中使用merge.txt

    oracle同一个表中使用merge

    Oracle merge into用法

    在Oracle数据库中,`MERGE INTO`语句是一种非常强大的工具,它允许用户根据源表中的数据更新目标表,同时也可以插入新记录。这一特性在处理大量数据时尤其有用,因为它能够在一个步骤中完成更新和插入操作,从而提高...

    oracle merge 用法详解

    ### Oracle Merge 用法详解 #### 一、Oracle Merge 命令介绍 自Oracle 9i版本开始,Oracle数据库引入了一个非常强大的SQL语句——`MERGE`命令。通过这个命令,用户可以在一个单一的SQL语句中完成对表的插入(`...

    Oracle_merge

    本文将详细介绍 Oracle 中 `MERGE` 关键字的使用方法,并结合实际示例来解析其工作原理。 #### 二、`MERGE` 语句的基本概念 在 Oracle 9i R2 版本之前,如果需要同时进行更新和插入操作,开发人员通常需要编写两条...

    oracle使用 merge 更新或插入数据(总结)

    oracle使用 merge 更新或插入数据(总结)

    oracle死锁原因解决办法

    ##### 3.2 使用跟踪文件 除了alert.log外,Oracle还会为每个死锁生成一个跟踪文件(trace file),该文件包含了更多关于死锁的信息。在上述示例中提到的跟踪文件路径为 `e:\oracle\admin\GEDEON\udump\ORA01784.TRC...

    浅谈Oracle数据库中Merge Into的用法.pdf

    Oracle 数据库中 Merge Into 的用法 在 Oracle 数据库中,Merge Into 语句是一种非常有用的功能,它主要用来合并 update 和 insert 语句,即用一个表中的数据来修 改或插入到另一个表中。Merge Into 语句的主要原则...

    使用BULK COLLECT, MERGE 语句提高sql执行效率

    详细介绍了使用 BULK COLLECT 进行批量操作 提高sql的执行效率 使用MERGE INTO USING 一条sql搞定 新增和修改 使用connect by 进行递归树查询

    Araxis Merge 使用教程.pdf

    Araxis Merge 软件入门使用教程 Araxis Merge 软件入门使用教程 Araxis Merge 软件入门使用教程 Araxis Merge 软件入门使用教程 pdf

    oracle使用 merge

    3. **处理`DBLINK`问题**:在跨数据库链接使用`MERGE`时,需要注意Oracle 10g中一个已知的bug(Bug ID 4311273),该bug可能导致ORA-02064错误。解决方法是确保`WHEN MATCHED THEN`和`WHEN NOT MATCHED THEN`两个...

    Hibernate中的merge使用详情解说

    Hibernate merge 使用详情解说 在 Hibernate 中,merge 方法是非常重要的一个方法,它能够帮助开发者轻松地处理数据的更新和插入操作。那么,merge 方法到底如何工作的呢?下面,我们将对 merge 方法进行详细的解释...

    oracle sqlldr;;merge;分组排序;条件赋值;表连接。简单示例

    实用基础SQL语句;oracle sqlldr;SQL基础语句;merge;分组排序;条件赋值;表连接。简单示例,Oracle数据库文档数据导入

    oracle merge

    merge 详解 及实例 优点:  — 避免了分开更新  — 提高性能并易于使用  — 在数据仓库应用中十分有用  — 使用merge比传统的先判断再选择插入或更新快很多

    Araxis Merge v6.5/Araxis Merge 2017比对工具

    Araxis Merge v6.5:免安装版本,解压直接运行merge.exe即可正常使用(目前好像不支持Win10系统了,但是我同事的win10可以用,看需要使用)。 Araxis Merge 2017:解压后,看安装说明,比较简单,纯净2017,推荐...

    Mybatis批量foreach merge into的用法

    首先,需要使用Oracle 9i及其以后版本支持的merge into语句,该语句可以实现insertOrUpdate的功能。然后,使用Mybatis的动态SQL语法foreach循环插入,待插入的实体bean的List通过查询数据库dual形成表。foreach的 ...

    Oracle merge合并更新函数实例详解

    Oracle的MERGE语句是一种强大的数据操作工具,它在Oracle9i版本中被引入,用于合并UPDATE和INSERT操作。在处理需要根据特定条件更新或插入数据的场景时,MERGE语句提供了高效的解决方案,尤其适合那些需要在单个SQL...

Global site tag (gtag.js) - Google Analytics