Google Скрипт MYSQL ЗАПРОСА с переменными из Google листов

#mysql #google-apps-script #google-sheets

Вопрос:

Итак, я в значительной степени учился самостоятельно и столкнулся с проблемой, для которой, похоже, не могу найти решение.

Основная цель состоит в том, что у меня есть лист Google с датой начала и окончания, которую пользователь может изменить, скрипт извлекает эти даты и использует их в запросе MySQL для извлечения данных между этим диапазоном дат.

Пример: дата начала = 10/1/2021, дата окончания = 10/22/21 Запрос: «выберите * из таблицы, где таблица.дата gt;= дата начала И table.dat gt;

Смотрите мой пример кода ниже:

======================================================

 var spreadsheet = SpreadsheetApp.getActive();  var sheet = spreadsheet.getSheetByName('DR_Campaign_Report');  var getStartDate = sheet.getRange(1,2).getValue();  var startDate = Utilities.formatDate(getStartDate,"GTM","MM/dd/yyyy");  var getEndDate = sheet.getRange(1,5).getValue();  var endDate = Utilities.formatDate(getEndDate,"GTM","MM/dd/yyyy");  var conn = Jdbc.getConnection(url, username, password);  var stmt = conn.createStatement();   var results = stmt.executeQuery   ( 'SELECT m.Campaign as "Campaign",n'    'count(m.Campaign) as "Leads",n'    'count(m.Duplicate) as "Dups",n'     'count(m.Campaign) - count(m.Duplicate) as "Valid Leads",n'    'count(m.AppSet) as "Appts",n'     'SUM(IF(m.ZepID != "",1,0)) as "Transferred Appts"n'    'FROM intakeMani mn'    'WHERE date(m.IncomingDate) gt;= date('startDate') and date(m.IncomingDate) lt;= date('endDate')n'     'OR date(m.AppSet) gt;= date('startDate') and date(m.AppSet) lt;= date('endDate')n'    'GROUP BY m.Campaign with rollup'  );   The Error is here in the WHERE clause when its attempting to pull the google script variables startDate and endDate. 'WHERE date(m.IncomingDate) gt;= date('startDate') and date(m.IncomingDate) lt;= date('endDate')n'     'OR date(m.AppSet) gt;= date('startDate') and date(m.AppSet) lt;= date('endDate')n'    

Я попытался ввести двойное «Дата начала» и все еще ошибаюсь. см. прилагаемый рисунок. введите описание изображения здесь

Комментарии:

1. даты должны быть в двойных кавычках, поэтому используйте date("'startDate'") , и mysql поймет запрос

2. Я попробовал это, но все равно ошибки, см. Фотографию, которую я добавил в конец своего поста.

3. попробуйте date("' startDate '") для всех переменных даты

4. Ну, я могу сохранить его сейчас, так что он исправил это, но не извлекает никаких данных. Я попытался выполнить запрос с датами в MySQL workbench, и он отлично работает. У меня есть отдельный скрипт в Google таблицах, который делает отчет за текущие дни, который извлекается из той же базы данных, поэтому я знаю, что это не проблема с подключением.

5. хм, отладка-это ваша часть, но что в результатах?

Ответ №1:

Фрагмент кода

Я исправил это, у меня был двойной «в полях var getStartDate/GetEndDate и нужно добавить» в запрос «» дата начала «»

Спасибо вам за вашу помощь.