工作中用到的oracle SQL

Kent_Sun 等级 324 0 0

Oracle SQL

用于记录工作中用到的oracle sql语句

表新增字段

表结构变动: 新增字段并指定字段类型

-- 新增一个字段,多个字段用小括号括起来,逗号分隔
alter table 表名 add 新增字段名(类型+长度);

-- demo  TSALES_APPLY_COST表中新增一个字段(CAPITAL) 类型为: NUMBER(15, 2)
alter table TSALES_APPLY_COST add CAPITAL NUMBER(15, 2);
-- 记得加注释
COMMENT ON COLUMN TSALES_APPLY_COST.CAPITAL is '剩余本金';

表修改字段类型

表结构变动:修改字段类型

ALTER TABLE TSALES_APPLY_MAIN
    MODIFY (
        ASQQD VARCHAR2(6),
        SALESNAME VARCHAR2(128)
        );
COMMENT ON COLUMN TSALES_APPLY_MAIN.ASQQD IS '建立渠道';
COMMENT ON COLUMN TSALES_APPLY_MAIN.SALESNAME IS '客户经理';

表修改字段名

表结构变动: 修改表中的字段名

-- 修改 TSALES_OTHER_DEBTORS 表中 INF_OLD_TYPE 字段名为 INFO_ID_TYPE。
alter table TSALES_OTHER_DEBTORS rename column INF_OLD_TYPE to INFO_ID_TYPE;

表删除字段

ALTER TABLE 表名 DROP COLUMN 列名;

查询sql-日期加减月份

日期字段新增几个月或者减去几个月

-- dual是虚拟表,用来构成select的语法规则
-- 用虚拟表测试, 获取当前日期和当前日期减去十二月的日期
select sysdate,add_months(sysdate,-12) from dual;
-- DZZRQ新增一个月的日期
update TSALES_REPAY_PLAN set DZZRQ=add_months(DZZRQ, 1) where ASQBH='2020-A000000-009-00017';

按时间倒序,取60条数据

按时间倒序排列,取60条数据

select CREATE_DATE,asqbh, transfer_no, status, notice_status, file_status
from (
         select CREATE_DATE, asqbh, transfer_no, status, notice_status, file_status
         from T_MAIN_INFO
         where FILE_STATUS = '0'
           and STATUS in ('1', '2', '5')
    order by CREATE_DATE desc
     )
where rownum<61;

trunc函数

trunc函数使用

-- demo1: 对dual测试表中的当前日期进行截取
select trunc(sysdate, 'DDD') from dual;

-- 开发中的实例
select SRCBILLCODE from TPAYMENT_POOL
where ZANCUNPICIHAO = #{batchNo,jdbcType=VARCHAR}
    and AGREED_LOAN_DATE is not null
    and trunc(AGREED_LOAN_DATE, 'DDD') - trunc(#{loanDate,jdbcType=DATE}, 'DDD') &lt;&gt; 0

ps: &lt; &gt; 是小于大于号 == <>

to_date() 函数

to_date() 函数 , 当前日期转换,sysdate可以替换成别的日期

select to_date(sysdate) from dual;

merge into用法

以dual为中间表用来存数据, 进行后期的更新和插入操作

merge into GUOYIN_FILE_LOG_INFO info
        using (select 'orderNo' as ORDER_NO from DUAL) du on (info.ORDER_NO = du.ORDER_NO)
        when matched then
            update set AA='aa', BB='bb', UPDATE_DATE=sysdate
        when not matched then
            insert(ORDER_NO,ALL_SUCCESS,REGIST_CERTIFICATE,UPDATE_DATE)
            values (#{orderNo,jdbcType=VARCHAR}, #{allSuccess,jdbcType=VARCHAR},  sysdate)

list集合遍历查询,返回满足条件的集合

mapper:
 /**
 *获取满足集合的数据
 *
 * @param fileNameList
 * @return
 */
List<String> queryByFileNameList(@Param("fileNameList") List<String> fileNameList, @Param("orderNo") String orderNo);

 <!--查询满足数组的数据-->
 <select id="queryByFileNameList" resultType="string">
     select
       FILE_NAME
     from GUOYIN_GET_FILE_LOG_INFO
     <where>
         ORDER_NO=#{orderNo}
         <if test="fileNameList != null">
             and FILE_NAME in
             <foreach collection="fileNameList" item="fileName" separator="," open="(" close=")">
                 #{fileName}
             </foreach>
         </if>
     </where>
 </select>
收藏
评论区

相关推荐

Oracle 程序员吐槽:永远不会再为 Oracle 工作了!
一位Oracle程序员在Hacker News上吐槽自己的工作,引起了热议,内容如下: Oracle数据库12.2。它有近2500万行C代码。 这实在太恐怖了,简直难以想象!你做不到在不破坏成千上万个现有测试的情况下更改产品中的单单一行代码。好几代程序员在很紧的项目期限内编写了这些代码,代码中充斥着各种各样的垃圾内容。 非常复杂的逻辑、内存管理和上下文
手把手教你进行Mysql5.x版本的安装及解决安装过程中的bug
前言 Hey,大家好,我是码农星期八,似乎还没有更新过关于Mysql的相关文章,同时也是因为工作需要,一起来学学叭。 数据库种类 常见的数据库有Mysql,Oracle,SQLite,Access,MS SQL Server。 这时候可能有人一看,what?数据库这么多,我要全部都学吗???,学这么多需要多久,是不是又是几个月。。。 我的回答是,
工作中用到的oracle SQL
Oracle SQL用于记录工作中用到的oracle sql语句 表新增字段 表结构变动: 新增字段并指定字段类型sql 新增一个字段,多个字段用小括号括起来,逗号分隔alter table 表名 add 新增字段名(类型长度); demo TSALES_APPLY_COST表中新增一个字段(CAPITAL) 类型为: NU
SQL 语句中 where 条件后 写上1=1 是什么意思
↑ 点击上方 “凹凸数据” 关注 + 星标 每天更新,干货&福利不断   这段代码应该是由程序(例如Java)中生成的,where条件中 1=1 之后的条件是通过 if 块动态变化的。例如: String sql"select  from tablename where 11"; if( conditon 1)   sqlsql+"  an
MySQL基础(非常全)
MySQL基础一、MySQL概述1、什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库2、什么是 MySQL、Oracle、SQLite、Access、MS SQL Server等 ? 答:他们均是一个软件,都有两个主要的功能: a. 将数据保存到文件或内存 b. 接收特定的命令,然后对文件进行相应
初学安装oracle11g遇到的问题,以及解决方案
如何完全卸载清除干净oracle数据库 一、删除注册列表 1、win+R输入regedit,打开注册表编辑器 2、选则HKEYLOCALMACHINE下面的SOFTWARE找到ORACLE点击打开,如果之前有安装多个oracle的话,只需要删除对应的注册表,如果只安装了一个,就可以直接肆无忌惮的将本oracle全部干掉了。 二、删除注册的服务 1、win+R
Java Web服务器的介绍
一、Java Web服务器的介绍Web服务器:是指能够为发出请求的浏览器提供文档的程序。服务器是一种被动程序,只有浏览器发出请求的时候才会响应。主流的Web服务器有:1.WebLogic:Bea公司开发的一个收费的大型服务器软件,后被Oracle收购,支持Java EE 所有规范。2.Tomcat:由Apache、Sun和其他一些公司及个人共同开发而成。该服
SpringBoot整合Mybatis连接Oracle数据库
学习目标:<font colorred face"宋体" size3通过本篇文章掌握如何使用SpringBoot整合Mybatis来连接Oracle数据库进行基本的数据库操作。在之前的项目中,大多使用的是Mysql数据库,但在企业中使用的是Oracle数据库,下面就来简单的介绍下如何使用SpringBoot整合Mybatis的方式操作Oracle数据库。<
Cobar SQL审计的设计与实现
本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star。 背景介绍 Cobar简介Cobar 是阿里开源的一款数据库中间件产品。在业务高速增长的情况下,数据库往往成为整个业务系统的瓶颈,数据库中间件的出现就是为了解决数据库瓶颈而产生的一种中间层产品。在软件工程中,没有什么问题是加一层中间层解决不了的,如果有,再
牛皮了!遇到“ORA-12154: TNS: 无法解析指定的连接标识符”错误,到底该如何解决?
相信使用过Oracle数据库的人一定碰到过“ORA12154: TNS: 无法解析指定的连接标识符”错误,我在此做一个小小的总结。 在程序中连接Oracle数据库的方式与其他常用数据库,如:MySql,Sql Server不同,这些数据库可以通过直接指定IP的方式连接,但是Oracle则需要通过Oracle客户端配置网络服务名的方式来连接。否则就会出现“
JAVA回调机制(CallBack)之小红是怎样买到房子的??
JAVA回调机制CallBack 序言最近学习java,接触到了回调机制(CallBack)。初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给CallBack做了一个定义。当然了,我在理解了回调之后,再去看网上的各种讲解,确实没什么问题。但是,对于初学的我来说,缺了一个循序渐进的过程。此处,将我对回调机制的个人理解,按
这可能是目前最全的!java开发手册嵩山版
在这里分享一份 [mybatis从入门到精通] 的强力教程,定能够助你一臂之力。 Mybatis基本介绍1. ORM和MyBatis1. 对象/关系数据库映射(ORM)1. 基本映射方式1. 流行的ORM框架简介目前流行的编程语言,例如Java、 C等,都是面向对象的编程语言;而目前主流的数据库产品,例如Oracle、DB2等,依然是关系数据库。编程语言和底
个人博客开发之数据库设计
前言分享完需求,我们就按照需求去设计数据库就可以了,这里我数据库选用Mysql 原因呢Mysql相对于其他数据库如ORACLE等轻巧,方便,开源,免费,好用,而且效率也够用 数据库设计这里数据库设计我推荐大家一款数据库设计工具,我一直在使用觉得还不错叫PDMan多平台版本,Mac Windows,Linux 系统都有 。总之功能非常强大 , 分表设计 用户表
SQL入门:什么是SQL,如何开始学习SQL?
前言:在我们的日常生活中,我们使用大量的应用程序、小工具和设备。每秒都会产生大量的数据。SQL提供了处理此类数据的标准方法。通过本文,我将向您解释什么是SQL及其演变的概念。本文将讨论以下主题: 传统文件系统的问题自从计算机时代开始,数据存储就已经成为人们关注的主要问题之一。以前,我们通常将数据存储在基于文件的系统中,这会导致数据管理不当。尽管看起来组织得很
SQL性能优化策略之索引优化方法
「数仓宝贝库」,带你学数据!导读: SQL优化是优化工作中经常会涉及的问题,由于早期的开发人员往往只关注于SQL功能的实现,而忽略了性能。特别是复杂的SQL,上线之后很少修改,一旦出现问题,即使是当初的开发人员自己也很难理清其中的业务逻辑,需要花费大量的时间去理解代码之间的关系,最终可能还是感觉无从下手。因此开发人员前期应做好代码注释,避免编写过于复杂的SQ