Сценарий Google Apps JDBC Сохранение значения конкретной даты из таблиц Google в Google Cloud SQL - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь подключить электронную таблицу (с исходными значениями, изначально введенными в Google Forms) к базе данных Google Cloud SQL, где каждая строка таблицы отправки формы создает запись в базе данных. Я сделал это успешно раньше (с формой без дат), но я не могу понять, как поместить конкретное значение даты (Дата рождения / день рождения) в формат, где я не получу «Усечение данных: неверно значение даты: '5/2/2001' для столбца 'день рождения' 'ошибка.

Например, в формах Google выводится дата «5/2/2001», и я знаю, что формат даты MySQL - «ГГГГ-ММ-ДД .....».
Вот код:

function onFormSubmit(event) {
  var conn = Jdbc.getCloudSqlConnection(dbUrl, user, userPwd);
  var stmt = conn.prepareStatement('INSERT INTO persontable ' +
    '(email, firstname, lastname, birthday) values (?, ?, ?, ?)');
  stmt.setString(1, event.namedValues['Email']);
  stmt.setString(2, event.namedValues['First Name']);
  stmt.setString(3, event.namedValues['Last Name']);
  stmt.setString(4, event.namedValues['Date of Birth']);
  stmt.execute();

Я знаю, что мне нужно преобразовать значение из «Дата рождения» в правильный формат, чтобы MySQL распознал его как ДАТУ, я просто не нашел способа сделать это.

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

1 Ответ

0 голосов
/ 16 января 2019

Отвечая на мой собственный вопрос, поскольку я только что его обнаружил.

var stmt = conn.prepareStatement('INSERT INTO persontable ' +
'(email, firstname, lastname, birthday) values (?, ?, ?, STR_TO_DATE(?,"%m/%d/%Y"))');
  
...