sql
仙道Bob
我曾经跨过山和大海 也穿过人山人海 直到看见平凡才是唯一的答案
展开
-
sql自动解析sqlexprparser
分析Druid 连接池中SQL语法树的基本原理 - 知乎原创 2023-06-20 18:44:25 · 146 阅读 · 0 评论 -
创建Sequences
1.创建Sequence,从1开始递增CREATE SEQUENCE info_id_seq INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 STARTWITH 1 NO CYCLE;2.创建函数,调用Sequenect,传递一个固定值进去,默认以17400000000000000+seqCREATE OR REPLACE FUNCTION "test"."fn_info_getsequence" (num1 numeric)原创 2020-07-22 13:58:28 · 568 阅读 · 0 评论 -
PostGresql四舍五入、小数转换、百分比用法
需求:两个整数相除,保留两位小数并四舍五入,完了转成百分比形式,即4/5=0.80=80%1.两个整数相除:idn_dw=> select 4/5;?column?---------- 0(1 row)在sql运算中,"/"意思是相除取整,这样小数部分就会被舍去。2.用cast将被除数转成小数idn_dw=> select cast(4 as nu...原创 2019-10-29 16:11:59 · 24646 阅读 · 0 评论 -
presto sql语句优化
写高效sql语句,效率瞬间提升1.避免使用函数转换,如to_char高效写法:select ... from ... where time=cast('20190101' as date)低效写法:select ... from ... where to_char(time,'yyyymmdd')='20190101'经过测试,第一种比第二种执行时间少一半2.group by 中...原创 2019-09-06 11:25:46 · 2894 阅读 · 0 评论 -
排序函数row_number,rank,dense_rank区别
row_number,rank,dense_rank这三个都是排序函数,几乎每种数据库都支持这几个函数。它们都是配合开窗函数over(partition by col1 order by col2)使用。下面根据实例看看这三个有什么区别:首先建个临时表,然后插入一些数据:create table tmp_user(a varchar2(6),b int);insert int...原创 2019-09-26 11:11:31 · 659 阅读 · 0 评论