cursor.execute值子字符串不起作用

时间:2018-05-25 11:03:31

标签: python mysql python-3.x python-2.7

我正在尝试使用格式加载值+02:00,即 -

mysql> select SUBSTR('2016-01-12T14:29:31.000+02:00',24,6);
+02:00                                       

Python:

csv_data = csv.reader(open('aaaa.csv'))
for row in csv_data:
cursor.execute('INSERT INTO time2(col1, \
         EventTimeZone)' \
'VALUES(%s,SUBSTR(\'%s\',24,6))',
         (row[0],row[1]))

如何在Python cursor.execute中验证查询以对传入的值进行子字符串..?

1 个答案:

答案 0 :(得分:0)

您无法在VALUES的{​​{1}}子句中调用函数。但是,我们可以将您的查询重新定义为INSERT

INSERT INTO ... SELECT

以下是我对Python代码的最佳猜测:

INSERT INTO time2 (col1, EventTimeZone)
SELECT row[0], SUBSTR(row[1], 24, 6)
FROM dual;