`
taiwei.peng
  • 浏览: 235339 次
  • 性别: 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 进行递归树查询

    oracle使用 merge

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

    Araxis Merge 使用教程.pdf

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

    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