编辑
2022-11-09
遇到的问题
00

1.首先在oracle中的replace function窗口中添加方法

CREATE OR REPLACE FUNCTION LONG_TO_CHAR(IN_WHERE VARCHAR, IN_TABLE_NAME VARCHAR, IN_COLUMN VARCHAR2) RETURN VARCHAR2 AS V_RET VARCHAR2(32767); V_SQL VARCHAR2(2000); BEGIN V_SQL := 'select ' || UPPER(IN_COLUMN) || ' from ' || UPPER(IN_TABLE_NAME) || ' where ' || IN_WHERE; EXECUTE IMMEDIATE V_SQL INTO V_RET; RETURN V_RET; END;

2.比如在视图中使用

编辑
2022-11-09
学习记录
00

Java中的List

有ArrayList和LinkdList,前者底层是数组,后者底层是链表,前者适合遍历查找,后者适合插入删除

1.List的add方法

有两种情况,第一种就是默认添加,在末尾往List里添加元素,第二种就是指定位置添加内容,原来位置的内容就会向后移动一位。

2.List的set方法

也有两种情况,第一种就是默认添加,在末尾往List里添加元素,第二种就是指定位置添加内容,把原来位置的内容给替换掉,并返回原来的元素内容。 基于这个set方法,我们就可以轻易的实现对List元素的交换位置。

int i=0; for (MrhpDiagVEntity entity : mrhpDiagVEntityList) { if (entity.getDiagnosisType().equals("3")) { if (entity.getIsFirst() != null && entity.getIsFirst() == 1) { //诊断为主要诊断时,使用set替换0下标的list,获取旧值填充到当前的位置 MrhpDiagVEntity oldEntity= mrhpDiagVEntityList.set(0, entity); mrhpDiagVEntityList.set(i,oldEntity); } } i++; }
编辑
2022-10-28
学习记录
00

1.介绍

@DateTimeFormat和@JsonFormat都是处理时间格式化问题的,把其他类型转换成自己需要的时间类型。

2.使用

2.1导包

@DateTimeFormat和@JsonFormat分别属于spring和jackson,所以我们需要导入相应的包。

xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.11.4</version> <type>bundle</type> </dependency>

2.2加注解

时间格式化 @DateTimeFormat是spring包里面的注解 @JsonFormat是jackson包里面的注解

@DateTimeFormat(pattern = “yyyy-MM-dd”) @JsonFormat(pattern = “yyyy-MM-dd”,timezone=“GMT+8”) private Date birthday; 注:默认情况下timezone为GMT(即标准时区),而北京是在东八区,会造成差8小时,所以 timezone =“GMT+8”。

编辑
2022-10-28
实用工具
00

函数  说明  SQL语法

eq   等于   = ne   不等于  <> gt   大于   > lt   小于   < ge   大于等于   >= le   小于等于   <= or   或者   or and   并且   and like   模糊查询包含s   like %s% notLike   模糊查询不包含s   not like %s% likeLeft   左匹配模糊查询   like %s likeRight   右匹配模糊查询   like s% between   在v1到v2之间   between v1 and v2 notBetween   不在v1到v2之间   not between v1 and v2 isNull   是否为空   is null isNotNull   是否不为空   is not null in   field在[a, b, c]之中   field in (a, b, c) notIn   field不在在[a, b, c]之中   field not in (a, b, c) orderByAsc   升序排序   order by field asc orderByDesc   降序排序   order by field desc groupBy   分组   group by having   分组过滤   having

mybatisPlus 2.4.0 or的写法

queryWrapper.and(i->i.likeRight("INPUT_CODE",request.getInput().toUpperCase()) .or().likeRight("RECALL_PURPOSE_NAME",request.getInput()) );
编辑
2022-10-28
实用工具
00

查询

查询表与视图的所属信息

查询表属于哪个用户,注意大写

sql
select owner from dba_tables where table_name='OPERATION_DICT';

查询视图属于哪个用户,注意大写

sql
select owner,view_name from all_views where view_name = 'USE_TIME_VENTILATOR_VIEW';

查询记录

sql
select * from 表名 where 筛选条件;

查询已有序列

sql
SELECT DBMS_METADATA.GET_DDL('SEQUENCE', '需要查询的序列名') FROM DUAL;

删除

删除表约束

sql
ALTER TABLE rec_type_mark_picture DROP CONSTRAINT TYPE_MARK_PICTURE_FE

删除索引

sql
DROP INDEX TYPE_MARK_PICTURE_BM;

Oracle中清空表数据

  1. delete from t
  2. truncate table t

区别: 

  • delete是dml操作;truncate是ddl操作,ddl隐式提交不能回滚
  • delete from t可以回滚,truncate table t 不可以回滚
  • truncate table t 执行效率更高,会回收表空间,delete from t执行效率慢,不会回收表空间
  • truncate table t高水线下降,delete from t高水线不降(这个不太明白...)自增ID,TRUNCATE后从1开始,DELETE后还是接着自增。

删除字段

alter table 表名 drop column 你需要删除的字段;

sql
alter table REC_MRHP_HOME drop column NATIVEADDR_CODE_LIST;

删除表

SQL
drop table 表名

删除记录

sql
delete from 表名 where 筛选条件;

提示:不要使用表的别名,也不允许使用