####################RDBMS.MQ.Redis.SQL######################
--testing log SQL statements
select log_cd,func_cd,log_dhms,from_ip from log_operate_1709 where
created_date >= to_timestamp('2017-09-14', 'yyyy-mm-dd')
and log_cd <> '日志類型' order BY created_date DESC;
select log_cd,func_cd,log_dhms,infurl,infnm,from_ip from log_pdt_data_1709 where
created_date >= to_timestamp('2017-09-14', 'yyyy-mm-dd')
and log_cd <> '日志類型' ORDER BY created_date DESC;
--count log_operate_1709 and log_pdt_data_1709 tables current date record
select count(log_cd) from log_operate_1709 where log_cd <> '日志類型' and
created_date >= to_timestamp('2017-09-14', 'yyyy-mm-dd');
select count(log_cd) from log_pdt_data_1709 where log_cd <> '日志類型' and
created_date >= to_timestamp('2017-09-14', 'yyyy-mm-dd');
select count(log_cd) from log_operate_1709 group by log_cd having created_date >= to_timestamp('2017-09-11', 'yyyy-mm-dd');
select count(created_date),created_date from log_operate_1709 where created_date >= to_timestamp('2017-09-11', 'yyyy-mm-dd') ORDER BY created_date DESC;
select count(created_date),created_date from log_pdt_data_1709 where created_date >= to_timestamp('2017-09-11', 'yyyy-mm-dd') ORDER BY created_date DESC;
select chain_uid from grp_cmm_unit group by chain_uid having count() >2;
select rate_id from grp_rsv_rate group by rate_id having count() >2;
select package_id from grp_rsv_package group by package_id having count(*) >2;
select * from grp_hk_base_roomtype;
select * from grp_hk_base_roomtype_ml;
select * from grp_hk_unit_roomtype;
select * from grp_hk_unit_roomtype_ml;
select package_id,day1,day2,day3,day4,day5,day6,day7 from grp_rsv_package_price where package_id in(
select package_id from grp_rsv_package_price group by package_id having count(1)>1) ;
select season_cd,day1,day2,day3,day4,day5,day6,day7 from grp_rsv_package_price where season_cd in(
select season_cd from grp_rsv_package_price group by season_cd having count(1)>1) ;
select package_id,start_dt,end_dt,day1,day2,day3 from grp_rsv_package_price t where t.package_id in
(select package_id,season_cd from grp_rsv_package_price group by package_id,season_cd having count(package_id) > 1) and season_cd having count(season_cd) > 1);
select package_id,day1,day2,day3 from grp_rsv_package_price t where t.package_id in
(select package_id from grp_rsv_package_price group by package_id having count(package_id) > 1);
select * from hpt_log_nightaudit where unit_uid='1bd2b793-9a8d-498b-b678-b721d67e20d6'
select count(package_id) from grp_rsv_package_price
select * from grp_rsv_package_group;
select * from grp_rsv_package_group_detail;
select * from hpt_hk_room;
select * from hpt_hk_room_combo;
select * from hpt_hk_room_feature;
select * from hpt_log_nightaudit where unit_uid='1bd2b793-9a8d-498b-b678-b721d67e20d6'
select tablename from pg_tables where schemaname='grp_dev';
select pg_database.datname, pg_database_size(pg_database.datname) AS size from pg_database;
select * from pg_database;
select count() from pg_database;
select count() from pg_tables where schemaname='grp_dev';
select count() from pg_tables where schemaname='pms_dev';
select count() from pg_tables where schemaname='pcm_dev';
select count() from pg_tables where schemaname='log_dev';
select count() from pg_tables where schemaname='stat_dev';
select count() from pg_tables where schemaname='cms_dev';
select count() from pg_tables where schemaname='grp_dev';
select count() from pg_tables where schemaname='grp_dev';
select count() from pg_tables where schemaname='grp_dev';
#############################################################
Jmeter消息類的功能
result = "\n1:"+bsh.args[0]+"\n"; //1:從參數(shù)框中獲取參數(shù)變量,不適用
result+="2:${testBeanshell}\n" //2:直接獲取變量,操作方便,非常適用
result+="3:"+vars.get("testBeanshell"); //3:從vars內(nèi)置變量中獲取變量,適用
vars.put("testBeanshell","beanshell_change");//改變變量值
result+="\n4:${testBeanshell}"http://4:直接獲取不生效,因?yàn)閖meter還沒有對(duì)其進(jìn)行復(fù)制
result+="\n5:"+vars.get("testBeanshell");//:5:值改變,容易理解
ResponseCode = 500;//回寫請(qǐng)求響應(yīng)代碼,借鑒的http響應(yīng)碼
ResponseMessage = "test ok!!";//回寫響應(yīng)信息
IsSuccess = true;//回寫響應(yīng)結(jié)果
log.info("\nlog test:"+result);//調(diào)用jmeter內(nèi)置log對(duì)象,日志會(huì)打印到j(luò)meter.log中
SampleResult.setResponseData("SampleResult:"+result+"\n");//回寫響應(yīng)數(shù)據(jù),SampleResult為jmeter內(nèi)置回寫結(jié)果對(duì)象,有很多可用方法,可以參看源碼
return "return:"+result;//這里的返回值,相當(dāng)于調(diào)用SampleResult.setResponseData()方法,注意使用的return關(guān)鍵字,后面的行都不會(huì)執(zhí)行,且SampleResult.setResponseData("SampleResult:"+result+"\n");也不會(huì)執(zhí)行,這里會(huì)被return的結(jié)果覆蓋。但是用SampleResult.setResponseData()方法回寫,后續(xù)還可以接代碼行,因此建議不用return進(jìn)行回寫響應(yīng)數(shù)據(jù)。
${__threadNum} :得到testplan的線程數(shù)
${__machineName} :得到主機(jī)名字
${__time(EEE, d MMM yyyy)} :返回一定格式的時(shí)間信息 。${__log(Message)}:寫入log文件”…thread Name : Message” 。${__log(Message,OUT)}:輸出到命令行。${__log(${VAR},,,VAR=)} :以 “…thread Name VAR=value”形式輸出到log文件。
Jmeter輸入類的功能
這里Jason只介紹下${__XPath(File,//XX/XX/@XX)} :XPath方式讀了File文件的相應(yīng)屬性.
Jmeter計(jì)算類的功能
${__counter(X)} :自增函數(shù),X(true/false)來控制是否分配線程來增加.
${__Random(X,Y,Z)} :隨機(jī)函數(shù),X為最小值,Y為最大值,Z為存儲(chǔ)的變量名.
Jmeter的Properties文件使用的功能類
之前Jason在Jmeter的P函數(shù)及properties文件介紹了相關(guān)的內(nèi)容.
Jmeter的變量操作類的功能
${__split(X,Y,Z)} :用來分割變量用的,X為需要分割的變量或者String,Y為存儲(chǔ)的變量名,Z為分割符.
${__V} :的使用主要來源于變量中含變量的情況 eg. ${A${N}} 可以用${__V(A${N})} 來顯示成功.
${__eval} :主要用在對(duì)SQL的處理上,具體使用看下面的例子:
- name=Smith * column=age * table=birthdays * SQL=select ${column} from ${table} where name=’${name}’
用${__eval(${SQL})}可以得到”select age from birthdays where name=’Smith’”.
Jmeter的String操作類的功能
${__regexFunction} :對(duì)前一個(gè)響應(yīng)進(jìn)行正則規(guī)約提取.具體參考這里.
${__char},${__unescape},${__unescapeHtml},${__escapeHtml} :主要用來對(duì)字符的編碼格式的轉(zhuǎn)換的.
Jmeter的腳本操作類的功能
${__javaScript(X,Y)} :主要是使用Javascript來做一些簡(jiǎn)單的操作.例如計(jì)算和字符處理等等.
eg. ${__javaScript(‘${sp}’.slice(7,99999))}
${__BeanShell(X)} :主要是利用BeanShell來實(shí)現(xiàn)一些具體的功能,BeanShell具體我們可以參考BeanShell.
#################################################################
位到秒的時(shí)間戳使用${__time(/1000,)}
固定格式的年月日
${__time(yyyyMMdd,)} 20151214 //返回年月日
${__time(HHmmss,)} 092816 //返回時(shí)分秒
${__time(yyyyMMdd-HHmmss,)} 20151214-092816 //全部返回
${__time(yyyy:MM dd-HH~mm.ss,)} 2017:06 25-10~24.29 //中間的分隔符可以自定義顯示
需要自定義時(shí)間 比如要拿到上一月的數(shù)據(jù),需要使用intSum函數(shù)先把當(dāng)月的時(shí)間減一天后再與其他年月時(shí)分秒進(jìn)行拼接 ${__intSum({__time(MM,nowDay)},-01,nextMonth)}
示例如下: 先獲取當(dāng)前時(shí)間
${__time(yyyyMMdd HHmmss,)} 再獲取上個(gè)月的月份時(shí)間:
${__intSum({__time(MM,nowDay)},-01,nextMonth)} 再進(jìn)行拼接:
${__time(yyyy,)}
${nextMonth}