# 函数说明书
# 1、for循环及if判断语句的支持
1、for循环
例: 循环输出变量i的值0-9
非SQL模式
for (int i = 0 ; i <10; i++ )
{
log_into_db("${i}");
};
2
3
4
SQL模式
for (int i = 0 ; i <10; i++ )
{
log_into_db "${i}";
};
2
3
4
2、if 判断语句
例:判断表名是否存在,并输入日志信息
非SQL模式:
boolean c=table_exists("地区收入明细表");
if (!c){
log_into_db("表地区收入明细表存在");
}else{
log_into_db("表地区收入明细表不存在");
} ;
2
3
4
5
6
SQL模式:
boolean c=table_exists "地区收入明细表" ;
if (!c){
log_into_db "表地区收入明细表存在";
}else{
log_into_db "表地区收入明细表不存在";
} ;
2
3
4
5
6
# 2、SQLDML函数
drop_table()
用途:可删除单表或多表。
语法:drop_table("t1, t2")
示例:
非SQL模式
drop_table("table_name1");
drop_table("table_name1,table_name2");
2
SQL模式
drop_table "table_name1";
drop_table "table_name1,table_name2";
2
truncate_table()
用途:清空表数据,可清空单表或多表。
语法:truncate_table("t1, t2")
示例:
非SQL模式
truncate_table("table_name1");
truncate_table("table_name1,table_name2");
2
SQL模式
truncate_table "table_name1";
truncate_table "table_name1,table_name2";
2
create_table()
用途:根据源表格式创建新表。
语法:create_table(table_name, like_name)
table_name:原表表名
like_name:要创建的表表名
示例:根据table_name1创建table_name2
非SQL模式
create_table("table_name2","table_name1");
SQL模式
create_table "table_name2","table_name1";
table_exists()
用途:检查表是否存在。
示例:如果没有表TBALE_NAME则按指定规则输出内容。
非SQL模式
If(table_exists("TBALE_NAME"))
{
log_into_db("表TBALE_NAME存在");
}else{
log_into_db("表TBALE_NAME不存在");
} ;
2
3
4
5
6
SQL模式
If(table_exists "TBALE_NAME")
{
log_into_db "表TBALE_NAME存在" ;
}else{
log_into_db "表TBALE_NAME不存在" ;
} ;
2
3
4
5
6
column_exists()
用途:检查列是否存在。
示例:如果表TBALE_NAME里没有D_COLUMN列,则按照规则输出内容。
非SQL模式
if (column_exists("D_COLUMN"))
{
log_into_db("列D_COLUMN存在");
}else{
log_into_db("列D_COLUMN不存在");
} ;
2
3
4
5
6
SQL模式
if (column_exists("D_COLUMN"))
{
log_into_db "列D_COLUMN存在" ;
}else{
log_into_db "列D_COLUMN不存在" ;
} ;
2
3
4
5
6
# 3、日期函数
now()
用途:返回当前日期时间
示例:TABLE_NAME表结构为:
A_COLUMN | B_COLUMN | TIME |
---|---|---|
DHSWA | CKDHU |
执行语句:
UPDATE TABLE_NAME SET TIME=('{now()}')
返回结果:
A_COLUMN | B_COLUMN | TIME |
---|---|---|
DHSWA | CKDHU | 2020-12-03 11:05:19 |
today()
用途:返回当前日期
示例:TABLE_NAME表结构为:
A_COLUMN | B_COLUMN | TODAY |
---|---|---|
DHSWA | CKDHU |
执行语句:
UPDATE TABLE_NAME SET TODAY=('{today()}')
返回结果:
A_COLUMN | B_COLUMN | TODAY |
---|---|---|
DHSWA | CKDHU | 2020-10-28 |
yyyymmdd()
用途:返回日期年月日,数值前面补0,可在括号里加减偏移日期。
示例:当前日期为20201026,TABLE_NAME表结构为:
YMD1 | YMD2 | YMD3 |
---|---|---|
执行语句:
INSERT INTO TABLE_NAME(YMD1,YMD2,YMD3) VALUES ('{yyyymmdd()}', '{yyyymmdd(2)}', '{yyyymmdd(-2)}')
返回结果:
YMD1 | YMD2 | YMD3 |
---|---|---|
20201026 | 20201028 | 20201024 |
yyyy-mm-dd()
用途:返回日期年月日,数值前面补0,可在括号里加减偏移日期。
示例:当前日期为2020-10-26,TABLE_NAME表结构为:
YMD1 | YMD2 | YMD3 |
---|---|---|
执行语句:
INSERT INTO TABLE_NAME(YMD1,YMD2,YMD3) VALUES ('{yyyy_mm_dd()}', '{yyyy_mm_dd(2)}', '{yyyy_mm_dd(-2)}')
返回结果:
YMD1 | YMD2 | YMD3 |
---|---|---|
2020-10-26 | 2020-10-28 | 2020-10-24 |
dd()
用途:返回两位数日期号数,数值前面补0,可在括号里加减偏移号数
示例:当前日期为20201201,TABLE_NAME表结构为:
DD1 | DD2 | DD3 |
---|---|---|
执行语句:
INSERT INTO TABLE_NAME(DD1,DD2,DD3) VALUES ('{dd()}', '{dd(2)}', '{dd(-2)}')
返回结果:
DD1 | DD2 | DD3 |
---|---|---|
01 | 03 | 29 |
day()
用途:返回日期号数,数值前面不补0,可在括号里加减偏移号数
示例:当前日期为20201201,TABLE_NAME表结构为:
DD1 | DD2 | DD3 |
---|---|---|
执行语句:
INSERT INTO TABLE_NAME(DD1,DD2,DD3) VALUES ('{day()}', '{day(2)}', '{day(-2)}')
返回结果:
DD1 | DD2 | DD3 |
---|---|---|
1 | 3 | 29 |
mmdd()
用途:返回日期月日,数值前面补0,可在括号里加减偏移日期。
示例:当前日期为20201201,TABLE_NAME表结构为:
MMDD1 | MMDD2 | MMDD3 |
---|---|---|
执行语句:
INSERT INTO TABLE_NAME(YMD1,YMD2,YMD3) VALUES ('{mmdd()}', '{mmdd(2)}', '{mmdd(-2)}')
返回结果:
MMDD1 | MMDD2 | MMDD3 |
---|---|---|
1201 | 1203 | 1129 |
mm_dd()
用途:返回日期月日,数值前面补0,可在括号里加减偏移日期。
示例:当前日期为20201201,TABLE_NAME表结构为:
MMDD1 | MMDD2 | MMDD3 |
---|---|---|
执行语句:
INSERT INTO TABLE_NAME(YMD1,YMD2,YMD3) VALUES ('{mm_dd()}', '{mm_dd(2)}', '{mm_dd(-2)}')
返回结果:
MMDD1 | MMDD2 | MMDD3 |
---|---|---|
12-01 | 12-03 | 11-29 |
yyyymm()
用途:返回日期年月,可在括号里加减偏移日期。
示例:当前日期为20201201,TABLE_NAME表结构为:
YM1 | YM2 | YM3 |
---|---|---|
执行语句:
INSERT INTO TABLE_NAME(YM1,YM2,YM3) VALUES ('{yyyymm()}', '{yyyymm(2)}', '{yyyymm(-2)}')
返回结果:
YM1 | YM2 | YM3 |
---|---|---|
202012 | 202102 | 202010 |
yyyy_mm()
用途:返回日期年月,可在括号里加减偏移日期。
示例:当前日期为20201201,TABLE_NAME表结构为:
YM1 | YM2 | YM3 |
---|---|---|
执行语句:
INSERT INTO TABLE_NAME(YM1,YM2,YM3) VALUES ('{yyyy_mm()}', '{yyyy_mm(2)}', '{yyyy_mm(-2)}')
返回结果:
YM1 | YM2 | YM3 |
---|---|---|
2020-12 | 2021-02 | 2020-10 |
mm()
用途:返回日期月份,个位数前补0,可在括号里加减偏移日期。
示例:当前日期为20201201,TABLE_NAME表结构为:
MM1 | MM2 | MM3 |
---|---|---|
执行语句:
INSERT INTO TABLE_NAME(MM1,MM2,MM3) VALUES ('{mm()}', '{mm(2)}', '{mm(-2)}')
返回结果:
MM1 | MM2 | MM3 |
---|---|---|
01 | 03 | 11 |
month()
用途:返回日期月份,个位数前不补0,可在括号里加减偏移日期。
示例:当前日期为20201201,TABLE_NAME表结构为:
MM1 | MM2 | MM3 |
---|---|---|
执行语句:
INSERT INTO TABLE_NAME(MM1,MM2,MM3) VALUES ('{month()}', '{ month(2)}', '{ month(-2)}')
返回结果:
MM1 | MM2 | MM3 |
---|---|---|
1 | 3 | 11 |
year()
用途:返回日期年份,可在括号里加减偏移日期。
示例:当前日期为20201201,TABLE_NAME表结构为:
YEAR1 | YEAR2 | YEAR3 |
---|---|---|
执行语句:
INSERT INTO TABLE_NAME(YEAR1,YEAR2,YEAR2) VALUES ('{year()}', '{year (2)}', '{year (-2)}')
返回结果:
YEAR1 | YEAR2 | YEAR3 |
---|---|---|
2020 | 2022 | 2018 |
lastmonthcurday()
用途:返回上月当天日期,若当天31号而上月不足31天,则返回上月最后一天日期,可在括号里加减偏移日期。
示例:当前日期为20201201,TABLE_NAME表结构为:
A_COLUMN | B_COLUMN | LASTCD |
---|---|---|
DHSWA | CKDHU |
执行语句:
UPDATE TABLE_NAME SET LASTCD=('{lastmonthcurday()}')
返回结果:
A_COLUMN | B_COLUMN | LASTCD |
---|---|---|
DHSWA | CKDHU | 20201101 |
last_month_curday()
用途:返回上月当天日期,若当天31号而上月不足31天,则返回上月最后一天日期,可在括号里加减偏移日期。
示例:当前日期为20201201,TABLE_NAME表结构为:
A_COLUMN | B_COLUMN | LASTCD |
---|---|---|
DHSWA | CKDHU |
执行语句:
UPDATE TABLE_NAME SET LASTCD=('{last_month_curday()}')
返回结果:
A_COLUMN | B_COLUMN | LASTCD |
---|---|---|
DHSWA | CKDHU | 2020-11-03 |
fistday()
用途:返回某月第一天日期,数值前面补0,可在括号里加减偏移月份。
示例:当前日期为20201203,TABLE_NAME表结构为:
FISTDAY1 | FISTDAY2 | FISTDAY3 |
---|---|---|
执行语句:
INSERT INTO TABLE_NAME (FISTDAY1, FISTDAY2, FISTDAY3) VALUES ('{fistday()}', '{fistday(2)}', '{fistday(-2)}')
返回结果:
FISTDAY1 | FISTDAY2 | FISTDAY3 |
---|---|---|
20201201 | 20210201 | 20201001 |
fist_day()
用途:返回某月第一天日期,数值前面补0,可在括号里加减偏移月份。
示例:当前日期为20201203,TABLE_NAME表结构为:
FISTDAY1 | FISTDAY2 | FISTDAY3 |
---|---|---|
执行语句:
INSERT INTO TABLE_NAME (FISTDAY1, FISTDAY2, FISTDAY3) VALUES ('{fist_day()}', '{fist_day(2)}', '{fist_day(-2)}')
返回结果:
FISTDAY1 | FISTDAY2 | FISTDAY3 |
---|---|---|
2020-12-01 | 2021-02-01 | 2020-10-01 |
lastday()
用途:返回某月最后一天日期,数值前面补0,可在括号里加减偏移月份。
示例:当前日期为20201203,TABLE_NAME表结构为:
LASTDAY1 | LASTDAY2 | LASTDAY3 |
---|---|---|
执行语句:
INSERT INTO TABLE_NAME (LASTDAY1, LASTDAY2, LASTDAY3) VALUES ('{lastday()}', '{lastday(2)}', '{lastday(-2)}')
返回结果:
LASTDAY1 | LASTDAY2 | LASTDAY3 |
---|---|---|
20201231 | 20210228 | 20201031 |
last_day()
用途:返回某月最后一天日期,数值前面补0,可在括号里加减偏移月份。
示例:当前日期为20201203,TABLE_NAME表结构为:
LASTDAY1 | LASTDAY2 | LASTDAY3 |
---|---|---|
执行语句:
INSERT INTO TABLE_NAME (LASTDAY1, LASTDAY2, LASTDAY3) VALUES ('{last_day()}', '{last_day(2)}', '{last_day(-2)}')
返回结果:
LASTDAY1 | LASTDAY2 | LASTDAY3 |
---|---|---|
2020-12-31 | 2021-02-28 | 2020-10-31 |
# 4、日志输出函数
log_into_db()
用途:写日志到数据库。
语法:log_into_db(message);
message:文本,日志内容;
示例:
非SQL模式
log_into_db("这是一段测试"); 返回:"这是一段测试" |
---|
log_into_db("{yyyymmdd()}"); 返回:”20201204” |
SQL模式
log_into_db "这是一段测试"; 返回:"这是一段测试" |
---|
log_into_db "{yyyymmdd()}" ; 返回:”20201204” |
# 5、跨库转换函数
set_db_by_name()
用途:根据名称选择数据库,后续的脚本将在这个数据库下执行。
示例:
非SQL模式
set_db_by_name("我的数据库")
SQL模式
set_db_by_name "我的数据库"
sourceDb_to_targetDb()
用途:从一个数据库迁移表数据到另外一个数据库。
语法:data_gbasetogbase(from_db,sql, from_table_name, table_name)
from_db:源数据库名
sql:sql语句
from_table_name:源表名
table_name:目标表名
示例:
非SQL模式
data_gbasetogbase("我的数据库", "", "EM_BAS_LZ_LOGIN_INFO","EM_BAS_LZ_LOGIN_INFO");
data_gbasetogbase("我的数据库", "select * from EM_BAS_LZ_LOGIN_INFO", "","EM_BAS_LZ_LOGIN_INFO" );
2
SQL模式
data_gbasetogbase "我的数据库", "", "EM_BAS_LZ_LOGIN_INFO","EM_BAS_LZ_LOGIN_INFO";
data_gbasetogbase "我的数据库", "select * from EM_BAS_LZ_LOGIN_INFO", "","EM_BAS_LZ_LOGIN_INFO";
2
← 引擎介绍 DataInside脚本 →