![](https://img-blog.csdnimg.cn/20190917152954147.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
SQL
天门中断楚江开,碧水东流至此回。
两岸青山相对出,孤帆一片日边来
Hey 锡瑞
这个作者很懒,什么都没留下…
展开
-
postgresql执行模糊批量删除表
【代码】postgresql执行模糊批量删除表。原创 2023-02-27 10:00:32 · 1233 阅读 · 1 评论 -
postgis函数汇总
它们还提供有关残疾的性质和地点的信息。—返回一个线串,该线串是输入的子串,从总2d长度的给定分数开始和结束。—返回0到1之间的浮点数,表示LineString上与给定Point点最近的点的位置,以总2d线长的一部分表示。第二个参数是一个介于0和1之间的float8,代表必须定位该点的线串总长度的一部分。第二个参数是一个介于0和1之间的float8,代表必须定位该点的线串总长度的一部分。— 构造一个多多边形,给定一个封闭的字符串的任意集合,作为一个多字符串文本表示法众所周知的文本表示法。原创 2022-12-22 14:17:55 · 2760 阅读 · 0 评论 -
修改mybatisplus源码HsqldbDialectExt 支持postgresql的offset分页模式
【代码】修改MyBatisPlus源码支持postgresql的offset分页模式。原创 2022-10-13 11:29:57 · 516 阅读 · 0 评论 -
MybatisPlus中集成雪花算法生成ID源码分析可靠性调研
雪花算法原理:一个 64 bit 的 long 型的数字作为全局唯一 id。这 64 个 bit 中,其中 1 个 bit 是不用的,然后用其中的 41 bit 作为毫秒数,用 10 bit 作为工作机器 id,12 bit 作为序列号。1bit,不用,因为二进制中最高位是符号位,1表示负数,0表示正数。生成的id一般都是用整数,所以最高位固定为0。 41bit-时间戳,用来记录时间戳,毫秒级。 10bit-工作机器id,用来记录工作机器id。(注意这俩字段,MyBatisPlus源码会用到) 1原创 2022-02-11 14:00:52 · 2731 阅读 · 0 评论 -
AOP声明式事物@Transactional失效的几种场景(7种)
一、什么是声明式事物什么是编程式事物?大白话讲,编程事物就是在代码手动实现事物的回滚,例如try-catch-finally捕获了异常,在finall手动调用方法实现rollback下;声明事物常用的就是AOP实现的切面原理,切入一个@Transactional注解,交给spring自己管理实现,可以被标记在类上、接口、方法上。二、@Transactional在某些场景下会失效,下边详谈(列举7种)(1)@Transactional配置的方法非public权限修饰(例如private的就别加了原创 2022-01-27 16:58:59 · 3360 阅读 · 0 评论 -
druid+mybatisplus多数据源集成postgresql和clickhouse简单实践
注:本来想写一个starter,但是比较难抽象一、配置文件spring: datasource: type: com.alibaba.druid.pool.DruidDataSource click: driverClassName: ru.yandex.clickhouse.ClickHouseDriver url: $click-urlxxxxx username: xx password: xx initialS原创 2022-01-21 14:26:16 · 3146 阅读 · 0 评论 -
Oracle中某字段已有数据,需要修改字段类型或者字段名
如果是表里边已经有大量数据,不好清空数据再修改字段或者字段类型,可以用如下方法,亲测有效ALTER TABLE 表名 RENAME COLUMN 字段名TO 字段名_N;ALTER TABLE 表名 ADD (字段名 字段类型);COMMENT ON COLUMN 表名.字段名 IS '该字段名备注';UPDATE 表名 SET 字段名=TRIM(字段名_N);COMMIT;ALTER...翻译 2019-09-23 20:42:39 · 1703 阅读 · 0 评论 -
Oracle RANK()OVER(PARTITION)的使用技巧
我用到的需求是需要求相同身份证号码(同一个人)在不同报表都有录入信息,只取最高优先级报表的信息,假设有6个报表,拟定每个报表优先级M_TYPE字段值1-6,根据RANK()OVER(PARTITION BY A.IDCARD ORDER BY A.M_TYPE) PK 查找IDCARD 相同的人根据M_TYPE排序,那么每次只取PK=1的则是优先级最高的报表的记录贴SQL及其执行结果: ...翻译 2019-08-16 11:42:20 · 3897 阅读 · 0 评论 -
Oracle中查找某一列有相同值的数据
应用场景:比如初始化数据时,手动insert数据,ID使用sys_guid()自动生成,不小心多插入了相同的一条数据,但是这两条数据的id却不一样,但是我们只需要一条数据,这时需要查找出是那几条数据相同,需要寻找记录有唯一性的字段(由于ID是随机生产显然不能用ID)SQL语句:select * from XX t where t.唯一值的字段名 in ( select t1.唯一值...原创 2019-06-17 20:15:39 · 9829 阅读 · 0 评论 -
Oracle列转行函数LISTAGG() WITHIN GROUP ()的使用方法
前言:最近在写一些比较复杂的SQL,是一些统计分析类的,动不动就三四百行,也是首次写那么长的SQL,有用到一些奇形怪状的SQL函数,在这里结合网上的例子做一些笔记,以后用到不记得用法可以翻出来看!1.基础用法:LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX),就像聚合函数一样,通过Group by语句,把每个Group的一个字段,拼接起来...原创 2019-03-27 21:39:40 · 48183 阅读 · 3 评论