RDBMS.MQ.Redis.SQL

####################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:從參數框中獲取參數變量,不適用
result+="2:${testBeanshell}\n" //2:直接獲取變量,操作方便,非常適用
result+="3:"+vars.get("testBeanshell"); //3:從vars內置變量中獲取變量,適用
vars.put("testBeanshell","beanshell_change");//改變變量值
result+="\n4:${testBeanshell}"http://4:直接獲取不生效,因為jmeter還沒有對其進行復制
result+="\n5:"+vars.get("testBeanshell");//:5:值改變,容易理解

ResponseCode = 500;//回寫請求響應代碼,借鑒的http響應碼
ResponseMessage = "test ok!!";//回寫響應信息
IsSuccess = true;//回寫響應結果

log.info("\nlog test:"+result);//調用jmeter內置log對象,日志會打印到jmeter.log中
SampleResult.setResponseData("SampleResult:"+result+"\n");//回寫響應數據,SampleResult為jmeter內置回寫結果對象,有很多可用方法,可以參看源碼
return "return:"+result;//這里的返回值,相當于調用SampleResult.setResponseData()方法,注意使用的return關鍵字,后面的行都不會執行,且SampleResult.setResponseData("SampleResult:"+result+"\n");也不會執行,這里會被return的結果覆蓋。但是用SampleResult.setResponseData()方法回寫,后續還可以接代碼行,因此建議不用return進行回寫響應數據。
${__threadNum} :得到testplan的線程數
${__machineName} :得到主機名字
${__time(EEE, d MMM yyyy)} :返回一定格式的時間信息 。${__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文件的相應屬性.

Jmeter計算類的功能
${__counter(X)} :自增函數,X(true/false)來控制是否分配線程來增加.
${__Random(X,Y,Z)} :隨機函數,X為最小值,Y為最大值,Z為存儲的變量名.

Jmeter的Properties文件使用的功能類
之前Jason在Jmeter的P函數及properties文件介紹了相關的內容.

Jmeter的變量操作類的功能
${__split(X,Y,Z)} :用來分割變量用的,X為需要分割的變量或者String,Y為存儲的變量名,Z為分割符.
${__V} :的使用主要來源于變量中含變量的情況 eg. ${A${N}} 可以用${__V(A${N})} 來顯示成功.
${__eval} :主要用在對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} :對前一個響應進行正則規約提取.具體參考這里.
${__char},${__unescape},${__unescapeHtml},${__escapeHtml} :主要用來對字符的編碼格式的轉換的.

Jmeter的腳本操作類的功能
${__javaScript(X,Y)} :主要是使用Javascript來做一些簡單的操作.例如計算和字符處理等等.
eg. ${__javaScript(‘${sp}’.slice(7,99999))}
${__BeanShell(X)} :主要是利用BeanShell來實現一些具體的功能,BeanShell具體我們可以參考BeanShell.

#################################################################
位到秒的時間戳使用${__time(/1000,)}
固定格式的年月日
${__time(yyyyMMdd,)} 20151214 //返回年月日
${__time(HHmmss,)} 092816 //返回時分秒
${__time(yyyyMMdd-HHmmss,)} 20151214-092816 //全部返回
${__time(yyyy:MM dd-HH~mm.ss,)} 2017:06 25-10~24.29 //中間的分隔符可以自定義顯示

需要自定義時間 比如要拿到上一月的數據,需要使用intSum函數先把當月的時間減一天后再與其他年月時分秒進行拼接 ${__intSum({__time(MM,nowDay)},-01,nextMonth)}
示例如下: 先獲取當前時間

${__time(yyyyMMdd HHmmss,)} 再獲取上個月的月份時間:
${__intSum({__time(MM,nowDay)},-01,nextMonth)} 再進行拼接:
${__time(yyyy,)}
${nextMonth}

${__time(dd HHmmss,)} 效果如圖:
執行前的腳本
執行后的效果

可以拿到你想要指定格式日期后,你就可以根據數據庫的要求進行更新操作了 像我都會在執行操作前先把相關的數據恢復下
恢復默認設置
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容