我在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()
答案 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