oracle
夏夜里的晚风。
这个作者很懒,什么都没留下…
展开
-
oracle 多条重复数据查询最新的
业务场景:同一个项目(项目编号相同),有三个项目阶段(用 1,2,3 表示),在表中存储了三条记录,分别用于记录不同的项目阶段。只取同一项目的最新阶段数据使用 ROW_NUMBER() OVER (partition BY col1 ORDER BY col2 desc) 函数col1 : 要分组的字段,比如项目编号col2 : 排序的字段,比如项目阶段表示根据项目编号分组,在分组内部根据项目阶段排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)select原创 2022-05-18 18:32:49 · 4271 阅读 · 0 评论 -
Maven项目引入oracle的jar包
cmd输入命令:mvn install:install-file -Dfile=D:\oracle11g\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.1.0 -Dpackaging=jar -DgeneratePom=truepom文件引入<dependency> <groupId>com.o.原创 2022-04-21 11:19:41 · 875 阅读 · 0 评论 -
user.table.column, table.column 或列说明无效
查询的列名,与oracle的关键字冲突了,如 name,year,level 等解决办法:字段加双引号如:select t."name" "name" from table t原创 2022-04-14 15:25:02 · 971 阅读 · 0 评论 -
oracle修改表字段类型
直接修改是不行的,会报错 无效的修改1.清空表数据2.新增一个临时字段,用于之后替代需要修改的字段,数据类型选择需要修改的数据类型3.删除无法修改字段4.将临时字段名修改为步骤3删掉的字段名...原创 2022-04-14 14:42:50 · 1536 阅读 · 0 评论 -
oracle 查询不符合规范的日期数据
例如数据格式为 yyyy-mm-dd查询不符合该格式的数据 :select * from table where not REGEXP_LIKE(字段名,'^((?:19|20)\d\d)-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$')原创 2020-10-30 14:05:38 · 7835 阅读 · 1 评论 -
oracle查询某个字段无查询结果时返回0
比如我要查xmid这个字段 select nvl(sum(xmid),0) xmid from x_table where xmdm = 'xxxxxxxxxx'原创 2020-09-02 20:37:03 · 4295 阅读 · 0 评论 -
oracle导出表数据 ORACLE EXP-00011 XXX不存在 无法导出空表
oracle11g新特性。空表在导出时会直接无视,无法导出来解决办法:1.将每个空表插入一行数据,然后再把数据删了(不建议)2.执行命令alter system set deferred_segment_creation=false; 空表也可以导出来。但在这之前的空表还是无法导出(建议,即便之前的还是无法导出,但后期可能还会有新的空表)3.执行语句 select'altertable'||table_name||'allocateextent;'fromuse...原创 2020-09-02 14:54:41 · 627 阅读 · 0 评论 -
oracle获取某列包含指定字符的记录
参数1:包含的字符串 参数2:列名。列名前面的 , 是该列值的分隔符FIND_IN_SET('包含的字符串',列名)原创 2020-08-24 18:01:43 · 1512 阅读 · 1 评论 -
Mybatis的useGeneratedKeys属性
只在insert标签里使用,默认为false是否返回主键映射到相应的实体类的属性上若为true,则该语句执行完后,该实体类用来存储主键的属性将会被赋值原创 2020-07-23 19:40:28 · 373 阅读 · 0 评论 -
mybatis oracle 循环list批量插入 带序列
<insert id="insertGys" parameterType="java.util.List" useGeneratedKeys="false"> insert into table (zbid,xmid,gysmc,zbje,htje,iszb,tyshxydm,gyssqdb,sqdbsfzh,gysxmfzr, xmfzrsfzh,ybpj,lypj,blxwjl,bz,lxdh) select seq_xtxmzbxx.nextval,...原创 2020-07-23 19:29:44 · 527 阅读 · 0 评论 -
oracle创建序列语法
create sequence seq_xmzjxxincrement by 1 --每次递增1start with 10-- 从10开始nomaxvalue -- 没有最大值nominvalue --没有最小值cache 20; --存入缓存的序列值的个数原创 2020-07-23 18:08:13 · 615 阅读 · 0 评论 -
oracle 比较两个日期相差几个月
months_between函数select months_between(日期1,日期2)m from table;原创 2020-07-01 19:16:23 · 2419 阅读 · 0 评论 -
oracle ROWNUM 分页查询
select * from (select A.*,ROWNUM as rowno from (select * from t_user) A where ROWNUM <= 10) table1 where table1.rowno > 0ROWNUM表示当前第几行,从1开始...原创 2020-06-17 16:22:14 · 176 阅读 · 0 评论 -
oracle 格式代码出现两次
使用 oracle 的函数 to_date时候报错原因是格式写的不正确改成如下即可 to_date(列名,'yyyy-MM-dd hh24:mi:ss') //24代表24小时制原创 2020-03-17 18:12:35 · 686 阅读 · 0 评论 -
mybatis oracle list批量插入 不带序列
参数为 List<Map><insert id="addCgd" parameterType="List" useGeneratedKeys="false">insert into T_SP_2CGD(uname,address,age)<foreach collection="list" index="key" item="value" separat...原创 2020-03-17 16:51:02 · 249 阅读 · 1 评论 -
oracle多表联查使用wm_concat函数的列数据重复
wm_concat(distinct 字段名)使用distinct去重即可原创 2020-03-06 11:58:51 · 3343 阅读 · 0 评论 -
cmd导出oracle用户下的所有数据(包括存储过程,触发器,视图)
只导出表结构:exp 用户名/密码@orclfile=f:/backup.dmp owner=用户名rows=n 导出表结构也导出数据:exp 用户名/密码@orclfile=f:/backup.dmp owner=user rows=yowner的值写用户名...原创 2020-01-14 00:34:21 · 1441 阅读 · 0 评论 -
Oracle date数据类型的字段截取年月日
应用场景 :据库中存储的是 年月日时分秒 , 但实际业务中可能只需要显示年月日select to_char(字段名,'yyyy-mm-dd') from table;原创 2019-12-04 14:42:50 · 10880 阅读 · 0 评论 -
case when语句
用到 case when 语句的字段需要单独拿出来,与前面的字段用 , 隔开原创 2019-10-09 17:01:08 · 141 阅读 · 0 评论 -
oracle nvl()函数
判断某个字段的值是否为空,第一个参数为需要做是否为空判断的字段,第二个参数为如果该字段值为空,则在查询结果中返回第二个参数值作为字段值,不为空则返回实际值例:select username,NVL(addr,'宿舍') from user;查询结果:小李 XXX小区小赵 宿舍 (addr为空,被第二个参数(即 宿舍)替代,而不显示空值)...原创 2019-09-20 17:27:08 · 385 阅读 · 1 评论 -
oracle 触发器
触发器是指在某张表操作前或操作后,执行的一个动作。触发器分为行级触发器和表级触发器,行级触发器表示对于某个表,每操作一行数据触发器都会触发一次表级触发器则是不管对该表操作多少行数据,都只执行一次使用plsql创建一个简单的触发器:右键单击,新建,四行依次为 : 触发器名称,选择触发器的执行时间,触发器的操作类型,绑定的表或者视图for each row ...原创 2019-09-20 17:07:06 · 215 阅读 · 0 评论 -
windows中oracle通过命令行导入dmp文件
imp 登录名/密码@服务器ip地址:端口号/服务名 file=G:\xxx.dmp full=y ignore=y若出现报 :只有 DBA 才能导入由其他 DBA 导出的文件 IMP-00000: 未成功终止导入是因为该用户没有足够的权限,登录sys用户,授权上述登录名dba权限即可grant dba to 登录名;完事。...原创 2019-09-16 16:34:16 · 1654 阅读 · 0 评论 -
Oracle将多个相同字段的值合并到一条记录中
wm_concat(字段名)例 :select id,username,wm_concat(address) from table group by id,username;该函数必须配合group by 一起用,否则会报错。oracle的group by需要将select后边所有的字段全部写入group by后(除了用了聚合函数的那个字段,如例子中的address字段)...原创 2019-09-16 16:26:47 · 9416 阅读 · 1 评论