SQL Server错误将数据类型nvarchar转换为日期python

时间:2016-06-30 11:50:06

标签: python date stored-procedures

我在python中调用SQL Server存储过程时遇到错误。

  

将数据类型nvarchar转换为日期时出错。

我的代码如下。

from datetime import datetime

OnlyDate=datetime.now().date()

# I got date in OnlyDate in this formate :-2016-06-30

self.con.execute("exec dbo.ScrapeStatistics_SP @Op='6',@EndTime=now,@Site='testing',@ScrapeType='Category',@Date=OnlyDate")                 
self.con.commit()  

1 个答案:

答案 0 :(得分:0)

@Date=OnlyDate

您正尝试将字符串OnlyDate插入Date列,因此最终会出现nvarchar("OnlyDate")无法转换为日期的错误。< / p>

您应该使用参数化查询:

query = "exec dbo.ScrapeStatistics_SP @Op='6',@EndTime=now,@Site='testing',
           @ScrapeType='Category',@Date=?"

self.con.execute(query , (OnlyDate,))  # note the comma! this needs to be a tuple