young-datafan-ooooo1 / sqlbuilder

通用的sql构建包,目前支持(mysql、oracle、postgresql、sqlserver、Clickhouse)的大部分函数,以及多表关联。
http://www.young-datafan.com/docs-sqlbuilder/intro/
Apache License 2.0
126 stars 20 forks source link
sql

项目介绍

SQLBULIDER初衷

说明

sqlbuilder

通用的sql构建包,目前支持(mysql、oracle、postgresql、sqlserver、Clickhouse)的大部分函数,以及多表关联。

帮助文档:http://www.young-datafan.com/docs-sqlbuilder/intro/

下载

https://github.com/young-datafan/sqlbuilder

Maven

 <dependency>
      <groupId>com.young-datafan</groupId>
      <artifactId>sqlbuilder</artifactId>
      <version>1.4.2</version>
</dependency>

Gradle via JCenter

compile 'com.young-datafan:sqlbuilder:1.4.2'

目前支持的函数

基础函数

函数名称 函数描述 MYSQL ORACLE POSTGRESQL CLICKHOUSE KDW SQLSERVER
+ + Y Y Y Y Y Y
- - Y Y Y Y Y Y
* * Y Y Y Y Y Y
/ / Y Y Y Y Y Y
% % Y Y Y Y Y Y
= = Y Y Y Y Y Y
<> <> Y Y Y Y Y Y
< < Y Y Y Y Y Y
> > Y Y Y Y Y Y
<= <= Y Y Y Y Y Y
>= >= Y Y Y Y Y Y
and and Y Y Y Y Y Y
or or Y Y Y Y Y Y
not not Y Y Y Y Y Y
case when case when Y Y Y Y Y Y

数学函数

函数名称 函数描述 MYSQL ORACLE POSTGRESQL CLICKHOUSE KDW SQLSERVER
abs(x) 绝对值 Y Y Y Y Y Y
round(x) 四舍五入 Y Y Y Y Y Y
ceil(x) 向上取整 Y Y Y Y Y Y
floor(x) 向下取整 Y Y Y Y Y Y
power(x, y) 返回x的y次方 Y Y Y Y Y Y
e() 返回e的值 Y Y Y Y Y Y
pi() 返回pi的值 Y Y Y Y Y Y
exp(x) 返回e的x次方 Y Y Y Y Y Y
exp2(x) 返回2的x次方 Y Y Y Y Y Y
exp10(x) 返回10的x次方 Y Y Y Y Y Y
log(x) 返回log以e为底的对数值 Y Y Y Y Y Y
log2(x) 返回log以2为底的对数值 Y Y Y Y Y Y
log10(x) 返回log以10为底的对数值 Y Y Y Y Y Y
sqrt(x) 对x开平方 Y Y Y Y Y Y
cbrt(x) 对x开立方 Y Y Y Y Y N

日期函数

函数名称 函数描述 MYSQL ORACLE POSTGRESQL CLICKHOUSE KDW SQLSERVER
current_date 当前日期 y y y y y y
current_timestamp 当前时间 y y y y y y
yesterday 昨天日期 y y y y y y
year_end 今年最后一天 y y y y y y
quarter_end 本季度最后一天 y y y y y y
month_end 本月最后一天 y y y y y y
week_end 本周最后一天 y y y y y y
year_begin 今年第一天 y y y y y y
quarter_begin 本季度第一天 y y y y y y
month_begin 本月第一天 y y y y y y
week_begin 本周第一天 y y y y y y
datediff 日期间隔计算 y y y y y y
adddatetime 日期加 y y y y y y
subdatetime 日期减 y y y y y y
toYear 取年份 y y y y y y
toQuarter 取季度数 Y Y Y Y Y Y
toMonth 取月份数 Y Y Y Y Y Y
toWeek 取周数 Y Y Y Y Y Y
toDayOfMonth 取月天数 Y Y Y Y Y Y
toDayOfWeek 取周天数 Y Y Y Y Y Y
toHour 取小时 Y Y Y Y Y Y
toMinute 取分钟数 Y Y Y Y Y Y
toSecond 取秒数 Y Y Y Y Y Y
formatDate_Y_M 取年月 Y Y Y Y Y Y
to_char 日期转字符串 Y Y Y Y Y Y
timestampToChar 时间转字符串 Y Y Y Y Y Y
to_date 字符串转日期 Y Y Y Y Y Y
toTimestamp 字符串转时间 Y Y Y Y Y Y

字符串函数

函数名称 函数描述 MYSQL ORACLE POSTGRESQL CLICKHOUSE KDW SQLSERVER
concat 字符串拼接 Y Y Y Y Y Y
instr 查找 Y Y Y Y Y Y
lower 转小写 Y Y Y Y Y Y
upper 转大写 Y Y Y Y Y Y
trim 去空(两边) Y Y Y Y Y Y
trim 去空(从左) Y Y Y Y Y Y
rtrim 去空(从右) Y Y Y Y Y Y
lsubstr 截取(从左) Y Y Y Y Y Y
rsubstr 截取(从右) Y Y Y Y Y Y
substr 截取(自定) Y Y Y Y Y Y
replace 替换(按内容) Y Y Y Y Y Y
length 计算字符串长度 Y Y Y Y Y Y

判断函数

函数名称 函数描述 MYSQL ORACLE POSTGRESQL CLICKHOUSE KDW SQLSERVER
is null 是否为空 Y Y Y Y Y Y
is not null 是否不为空 Y Y Y Y Y Y

类型转换

函数名称 函数描述 MYSQL ORACLE POSTGRESQL CLICKHOUSE KDW SQLSERVER
toDecimal64 转化为小数 Y Y Y Y Y Y
toUInt8OrZero 字符串转化为整数 Y Y Y Y Y Y
toString 转化为字符串 Y Y Y Y Y Y

聚合函数

函数名称 函数描述 mysql oracle postgresql clickhouse kdw sqlserver
sum 求和 Y Y Y Y Y Y
count_any 统计数量(不含空值) Y Y Y Y Y Y
count_distinct 统计数量(去重) Y Y Y Y Y Y
count 统计数量 Y Y Y Y Y Y
avg 求平均数 Y Y Y Y Y Y
max 求最大值 Y Y Y Y Y Y
min 求最小值 Y Y Y Y Y Y
median 中位数 N Y Y Y Y N
var_samp 方差 Y Y Y Y Y Y
stddev_samp 标准差 Y Y Y Y Y Y
weighted_mean 加权平均 Y Y Y Y Y Y