python mysql日期输出,日期时间通过值从python到mysql

I kept having sql syntax error.. what am I missing in here in order to pull data by day.

Here's my python error :

pyodbc.ProgrammingError: ('42000', "[42000] [MySQL][ODBC 5.1 Driver][mysqld-5.1.63rel13.4-log]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%s and date_created < %s ,(start, next)' at line 11 (1064) (SQLExecDirectW)")

File "d:\sasdev\datax\program\py\global.py", line 33, in

""")

Here's the code :

start = datetime.date(2012,01,01)

next = start + datetime.date.resolution

while next <= datetime.date.today():

print start, next

cur_ca.execute("""

select id,

date_created,

data

from bureau_inquiry where date_created >= %s and date_created < %s %(start, next)

""")

start = next

next = start + datetime.date.resolution

解决方案

You execute a query with formatting parameters but never pass these in; the % (start, next) part goes outside of the SQL query:

cur_ca.execute("""

select id,

date_created,

data

from bureau_inquiry where date_created >= %s and date_created < %s

""" % (start, next)

)

You would be better off using SQL parameters however, so the database can prepare the query and reuse the query plan:

cur_ca.execute("""

select id,

date_created,

data

from bureau_inquiry where date_created >= ? and date_created < ?

""", (start, next)

)

PyODBC uses ? for SQL parameters.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值