
日常记录
日常记录
Zhang_960110
写博客的初衷:记录自己学习、思考、总结的过程;建立自己知识库,分类汇总保留。
展开
-
Oracle之ROW_NUMBER() OVER() 分组排序函数
文章目录ROW_NUMBER() OVER() 分组排序ROW_NUMBER() OVER() 分组排序语法: row_number() over(partition by 分组列 order by 排序列 desc) rn注意:在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by、 order by 的执行。常见需求:根据某个字段分组取出最新的一条数据。原数据:SELECT rir.id, rir.IND原创 2022-02-26 11:10:16 · 2216 阅读 · 0 评论 -
Oracle之行转列pivot函数
文章目录方法一: Oracle行转列pivot函数方法二:使用MAX DECODE 实现方法一: Oracle行转列pivot函数语法:pivot(任一聚合函数 for 需要转列的值所在列名 in (需转为列名的值))原数据格式如下: SELECT rspfd.FORECAST_YEAR , --年份 rspfd.INDEX_CODE , --指标代码 rspfd.INDEX_VALUE --指标值 FROM RPT_STK_PROFIT_FORECAST_DATA r原创 2022-02-26 10:41:25 · 23250 阅读 · 2 评论 -
Oracle之列转行Unpivot函数
文章目录列转行Unpivot函数用法列转行Unpivot函数用法如每年的各项指标数据,数据格式如下:SELECT T.FC_Y AS FORECAST_YEAR, --年份 T.EPS AS IDX_EPS, -- 指标1 T.OPER_INC AS IDX_OPER_INC,-- 指标2 T.NET_PROF AS IDX_NET_PROF,-- 指标3 T.PE AS IDX_PE-- 指标4FROM TABLE_NAME TWHERE T.ID = 1ORDER BY T.FC原创 2022-02-25 23:37:26 · 4270 阅读 · 2 评论 -
将一个list均分成n个list
/** * 将一个list均分成n个list,主要通过偏移量来实现的 * @param source * @return */ public static <T> List<List<T>> averageAssign(List<T> source, int n) { List<List<T>> result = new ArrayList<List<T>.转载 2020-09-10 13:40:53 · 1920 阅读 · 0 评论 -
使用Apache commons StringSubstitutor对模板占位符进行赋值
pom.xml里加入如下依赖: <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-text</artifactId> <version>1.8</version> </dependency>/** * @au原创 2020-10-16 22:14:13 · 2689 阅读 · 4 评论 -
Java实现敏感词过滤 - DFA算法
Java实现DFA算法进行敏感词过滤封装工具类如下:使用前需对敏感词库进行初始化: SensitiveWordUtil.init(sensitiveWordSet);/** * 敏感词处理工具 - DFA算法实现 */public class SensitiveWordUtil { /** * 敏感词匹配规则 */ public static final int MinMatchTYpe = 1; //最小匹配规则,如:敏感词库["中转载 2020-07-18 21:00:26 · 2416 阅读 · 1 评论 -
树形数据转list
【代码】树形数据转list。原创 2020-09-04 16:45:56 · 1368 阅读 · 0 评论 -
@Transactional 事务提交之后执行 @Async 修饰的异步方法
最近项目中遇到的问题:俩个service方法, 方法A中调用方法B。方法A核心业务涉及多张表的数据操作,事务采用注解:@Transactional(rollbackFor = Exception.class)。方法B比较耗时,为了不影响核心业务,方法B 用@Async注解,单独开启一个线程去异步执行。(方法B在另外一个类里边,不能和A在同一个类)。出现的问题:方法A的事务还没提交,方法B就执行了,导致方法B中查到的数据还是老数据。当时想到的解决方案,方法A事务提交后再执行方法B。.转载 2021-01-03 22:57:20 · 4216 阅读 · 0 评论 -
有一种空格叫做--不间断空格(空格保存到数据库变成了问号)
不间断空格:\u00A0 不间断空格 主要在 office 中使用,让一个单词在结尾处不会换行显示,快捷键 Ctrl + Shift + Space。全角空格:\u3000 中文符号 中文文章中常用。半角空格:\u0020 英文符号 代码中常用。原创 2021-08-26 22:45:32 · 2532 阅读 · 0 评论 -
MySQL的FIND_IN_SET函数和Oracle实现FIND_IN_SET的解决方案
基础数据(GROUP_DATA )其中GROUP_USER_IDS用逗号拼接。需求:根据用户id查询所属的组名一,Mysql 的FIND_IN_SET 函数SELECT * FROM GROUP_DATA G WHERE FIND_IN_SET("2",G.GROUP_USER_IDS);二,oracle 实现方法方案一(说明:INSTR函数查询时把GROUP_USER_IDS 字段值 1,2,3,4 改成 ,1,2,3,4, 然后查询 ,2,)SEL...原创 2020-07-18 15:02:30 · 2115 阅读 · 0 评论 -
Oracle查询数据是否已经存在的几种sql效率比较
开发中经常遇到新增数据时判断该数据是否已经存在做唯一性校验。对常用的方法做个比较。1,SELECT COUNT(*) FROM TABLE T WHERE T.XX = 'XX'; --耗时3s2,SELECT 1 FROM TABLE T WHERE T.XX = 'XX'; -- 耗时0.04s3,SELECT 1 FROM DUAL WHERE EXISTS (SELECT 1 FROM TABLE T WHERE T.XX = 'XX');-- 耗时0.015s..原创 2020-07-19 13:17:20 · 7399 阅读 · 0 评论 -
Oracle逗号拼接的数据,转成多行
【代码】Oracle逗号拼接的数据,转成多行。原创 2021-10-27 15:21:00 · 1006 阅读 · 0 评论 -
Oracle使用start with...connect by prior处理树形结构数据
基础数据一,向上查询父级数据select * from location start with id = '163' connect by prior pid = id order by id asc;二,向下查询子级数据select * from location start with id = '1' connect by pid = prior id order by id asc;...原创 2020-07-18 16:07:39 · 364 阅读 · 0 评论 -
微服务重要概念与解读
微服务重要概念与解读微服务的提出者什么是微服务微服务的提出者Martin Fowler大师的主页:https://martinfowler.com什么是微服务微服这种务架构风格是一种将单个应用程序开发为一组小服务的方法,每个小服务都在自己的进程中运行并与轻量级机制(通常是HTTP资源API)进行通信。这些服务围绕业务功能构建,并且可以由全自动部署机制独立部署。这些服务的集中管理几乎没有,它可以用不同的编程语言编写并使用不同的数据存储技术。...原创 2021-01-14 13:27:42 · 234 阅读 · 0 评论