- 为了让SQL拼接更加的简单一些,通过一些结构定义,生成各种数据库支持的SQL。
sqlbuilder
通用的sql构建包,目前支持(mysql、oracle、postgresql、sqlserver、Clickhouse)的大部分函数,以及多表关联。
帮助文档:http://www.young-datafan.com/docs-sqlbuilder/intro/
https://github.com/young-datafan/sqlbuilder
<dependency>
<groupId>com.young-datafan</groupId>
<artifactId>sqlbuilder</artifactId>
<version>1.4.2</version>
</dependency>
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 |