[Jmeter]sql查询&获取当前日期

在测试中,需要从数据库中sql语句查询获取数据与请求结果进行校验 

sql语句中,需要查询sr_rep_org 表格中的数据: 

该表的格式为: 

这里写图片描述

如下查询时: 

SELECT * FROM sr_rep_org WHERE date = '2016-10-10 09:57:07' 

1 

获得的数据为: 

这里写图片描述

现在需要查询的是2016-10-09 的数据 

查询的语句为: 

SELECT * FROM sr_rep_org WHERE date LIKE '2016-10-09 %' 

1 

在Jmeter中请求时,需要将2016-10-09 做为变量,为当天的日期 

一种方式是:  
使用JavaScript语句获取当天日期,如下: 

${__javaScript((new Date()).getFullYear()+'-'+ ((new Date()).getMonth()+1) + '-' + (new Date()).getDate(),)} 

1 

查询的语句为: 

SELECT * FROM sr_rep_org WHERE date LIKE '${__javaScript((new Date()).getFullYear()+'-'+ ((new Date()).getMonth()+1) + '-' + (new Date()).getDate(),)} %' 

1 

查询结果为空,发现原来语句中当月份或者天数为各位数时,获取到的日期中月份或者天数并没有补齐两位数,但数据库中日期格式为YYYY-MM-DD,故请求失败 

现在使用Jmeter提供的日期函数: 

Jmeter提供的日期函数为: 

${__time(,)}         1450056496991 //无格式化参数,返回当前毫秒时间 
${__time(yyyyMMdd,)} 20151214      //返回年月日 
${__time(HHmmss,)}   092816        //返回时分秒 
${__time(yyyyMMdd-HHmmss,)} 20151214-092816 //全 

 

 

故查询语句为: 

SELECT * FROM sr_rep_org WHERE date LIKE '${__time(yyyy-MM-dd)} %' 

即可获得正确的数据查询 

 

posted @ 2017-11-28 11:54  春田花花同学会  阅读(601)  评论(0编辑  收藏  举报