• Oracle SQL常用语句


    1,查询插入

    insert into  user_role(account_id, role_id, create_user)
    select t.employee_id, 'BC8FBF8B1D9843A2AE83B2310AC57C28', 'ADMIN' from ACCOUNT t where employee_id not in (select account_id from user_role)
    

    2, 按年查询

    where o.YEAR=EXTRACT(YEAR FROM SYSDATE)
    

    3, 分组去重

    select * from (
        SELECT ROW_NUMBER() OVER(PARTITION BY F1 ORDER BY F2 DESC) RN
          FROM XX AP
    )
    T WHERE T.RN = 1
    

    4,查询当天记录

    select * from table where trunc(create_date)=trunc(sysdate)
    

     或者

    create_date between to_date('2017/12/21', 'yyyy/mm/dd') and  to_date('2017/12/22', 'yyyy/mm/dd')
    

    5, md5密码加密

    select Utl_Raw.Cast_To_Raw(sys.dbms_obfuscation_toolkit.md5(INPUT_STRING =>'123456')) from dual;

    6, 计算相似度

    SELECT SYS.UTL_MATCH.edit_distance_similarity(title, 'xxxx') as 相似度

     7, 快速导数据

    create table aa as select * from table

    8, 根据状态值建立索引

    需求:某表中数据status = 1的字段不能重复

    CREATE UNIQUE INDEX UK_STUDIO_ASSISTANT ON STUDIO_ASSISTANT ( 
           DECODE (status, 1, employee_no, id )
     );

    id为guid列,状态为1的员工编号记录只允许有一条

     9, Update From

    Oracle没有Update from,但通过下面方式可以实现。

    UPDATE A SET A.NAME=(SELECT B.NAME FROM B WHERE B.ID=A.ID)
    UPDATE DOCTOR d
    SET d.IS_STRDIO=''
    WHERE EXISTS (SELECT 1 FROM register r 
                  LEFT JOIN team_member m  ON m.open_id = r.open_id
                  WHERE m.status = 1
                  AND r.name=d.DOCTOR_NAME
                  AND r.tel=d.DOC_TELEPHONE)

    根据两个字段匹配更新

    10, Oracle中between是前后都包含关系

    11, 更改当前查询用户

    alter session set current_schema=UCenter

             SELECT d."DISTRICT_CODE",                d."REGION_CODE",                d."SUB_AREA_CODE",                COUNT(1) being_num,                SUM(case when d."JOIN_DATE" >= to_date('201904', 'yyyy-MM') then 1 else 0 end) coming_num           FROM EIS_USER.VIEW_USER_DETAIL d          WHERE d."STATUS" = 1            AND d."DISTRICT_CODE" = 14            AND d."JOB_SORT" = 100            AND d."YEAR" = 2019            AND d."MONTH" = 4       GROUP BY d."DISTRICT_CODE",                d."REGION_CODE",                d."SUB_AREA_CODE"       ORDER BY d."REGION_CODE"



    签名:删除冗余的代码最开心,找不到删除的代码最痛苦!
  • 相关阅读:
    Android开发——Activity启动模式详解
    Spring核心技术(十一)——基于Java的容器配置(一)
    【数学】控制论
    【Mongo】聚合函数
    【Deeplearning】blog
    【Python】添加注册表信息脚本
    【数据库】备份与恢复
    【MongoDB】数组长度查询
    【Mysql】修改最大连接数
    【Python】多线程2
  • 原文地址:https://www.cnblogs.com/season2009/p/7765553.html
Copyright © 2020-2023  润新知