Search Like SQL with Spreadsheet + Google Apps Script (GAS) + QUERY Function
We’ll introduce sample code to search like SQL using Google Spreadsheet + Google Apps Script (GAS) + QUERY function.
We wrote sample code to see if we could achieve SQL-like functionality using the QUERY function to treat Google Spreadsheet like a database from Google Apps Script (GAS).
id | updated_at | |
---|---|---|
1 | [email protected] | 2022-01-01 1:01:01 |
2 | [email protected] | 2022-02-02 2:02:02 |
3 | [email protected] | 2022-03-03 3:03:03 |
The sample code for Google Apps Script (GAS) + QUERY function to retrieve only rows where updated_at
is newer than a specific datetime from the users
spreadsheet is as follows:
function searchUsers(){
let keyword = '2022-01-01 01:01:01';
const sheet = SpreadsheetApp.getActive().getSheetByName("QUERY");
sheet.getRange(1, 1).setValue(`=QUERY(users!A:C,"where C > datetime '${keyword}'", -1)`);
const lastRow = sheet.getLastRow();
for (var i = 2; i <= lastRow; i++) {
let id = sheet.getRange(i, 1).getValue();
let email = sheet.getRange(i, 2).getValue();
let updatedAt = sheet.getRange(i, 3).getValue();
Logger.log(`id: ${id}, email: ${email}, updated_at: ${updatedAt}`);
}
}
Above, we searched like SQL using Google Spreadsheet + Google Apps Script (GAS) + QUERY function.
That’s all from the Gemba.