Query condition for between start and end date

Rajeshkumar2
Giga Expert

Hi,

I have a requirement to get the records count which was created between start and end date using fix script.

It was worked, when I try the below query condition using static way like directly added date and time.

var incident = new GlideRecord("incident");
incident.addEncodedQuery("sys_created_onONToday@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()^u_glide_date_time_1BETWEENjavascript:gs.dateGenerate('2022-03-31','12:00:00')@javascript:gs.dateGenerate('2022-03-31','14:00:00')");
incident.query();
gs.info("Total count"+incident.getRowCount());

But it's not worked when I try to add those date and time in separate variable and called that variable in my query condition like below. Can any one please let me know the way to achieve this one?

var date = "2022-03-31";
var timestart = "12:00:00";
var timeend = "14:00:00";


var incident = new GlideRecord("incident");
incident.addEncodedQuery("sys_created_onONToday@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()^u_glide_date_time_1BETWEENjavascript:gs.dateGenerate(date,timestart)@javascript:gs.dateGenerate(dateOne,timeend)");
incident.query();
gs.info("test count "+incident.getRowCount());

 

Thanks,

Raj

1 ACCEPTED SOLUTION

Hi,

 

It's worked when I tried like below.

var date = "2022-03-31";
var timestart = "12:00:00";
var timeend = "14:00:00";

var incident = new GlideRecord("incident");

incident.addEncodedQuery("sys_created_onONToday@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()^u_glide_date_time_1BETWEENjavascript:gs.dateGenerate(\'"+date+"\',\'"+timestart+"\')@javascript:gs.dateGenerate(\'"+date+"\',\'"+timeend+"\')");

incident.query();
gs.info("test count "+incident.getRowCount());

Thanks,

Rajeshkumar

View solution in original post

6 REPLIES 6

Boyan1
Kilo Sage

Hello, 

Can you please try below script:

var date = "2022-03-31";
var timestart = "12:00:00";
var timeend = "14:00:00";


var incident = new GlideRecord("incident");
incident.addEncodedQuery("sys_created_onONToday@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()^u_glide_date_time_1BETWEENjavascript:gs.dateGenerate(date," + timestart +")@javascript:gs.dateGenerate(dateOne," + timeend+")");
incident.query();
gs.info("test count "+incident.getRowCount());

 

Best regards,

Boyan

Hi Boyan,

 

It's returning 0. But when I go with static way, it's returned 2 which was correct count. 

Javascript compiler exception: missing ) after argument list (<refname>; line 1) in:
gs.dateGenerate(date,12:00:00)
Javascript compiler exception: missing ) after argument list (<refname>; line 1) in:
gs.dateGenerate(dateOne,14:00:00)
*** Script: test count 0

Thanks,

Raj

Can you please check this one

var date = "2022-03-31";
var timestart = "00:00:00";
var timeend = "10:00:00";

var incident = new GlideRecord("incident");
incident.addEncodedQuery("sys_created_onONToday@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()^sys_created_onBETWEENjavascript:gs.dateGenerate('" +date + "','" + timestart +"')@javascript:gs.dateGenerate('" + date + "','" + timeend+"')");
incident.query();
gs.info("test count "+incident.getRowCount());

 

Hi,

 

It's worked when I tried like below.

var date = "2022-03-31";
var timestart = "12:00:00";
var timeend = "14:00:00";

var incident = new GlideRecord("incident");

incident.addEncodedQuery("sys_created_onONToday@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()^u_glide_date_time_1BETWEENjavascript:gs.dateGenerate(\'"+date+"\',\'"+timestart+"\')@javascript:gs.dateGenerate(\'"+date+"\',\'"+timeend+"\')");

incident.query();
gs.info("test count "+incident.getRowCount());

Thanks,

Rajeshkumar