谷歌应用程序脚本JDBC将谷歌表单中的特定日期值存储到谷歌云SQL中



我正试图将一个电子表格(输入值最初来自Google Forms)连接到Google Cloud SQL数据库,在该数据库中,每个表单提交电子表格行都会在数据库中创建一条记录。我以前已经成功地完成了(使用没有日期的表单),但我不知道如何将特定的日期值(出生日期/生日)设置为不会出现"数据截断:错误的日期值:'生日'列为'2/5/2001'"错误的格式。

例如,谷歌表单的日期输出是"2/5/2001",我知道MySQL的日期格式是"YYYY-MM-DD……"。
以下是代码:

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将其识别为Date,但我还没有找到这样做的方法。

谢谢你的帮助。

回答我自己的问题,因为我刚刚发现了它。

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

最新更新