datetime.datetime conversion to datetime



我已将SQL Server中的一列定义为ldate,其数据类型为datetime,并接受null值。我正在尝试使用python和pyodbc从本地机器发送数据。我有类似20-01-2015string格式的日期。当我尝试发送数据时,它会抛出一个错误:

pyodbc.DataError:('22007','[22007][Microsoft][ODBC Driver 17 for SQL Server][SQL Server]从字符串转换日期和/或时间时转换失败。(241((SQLExecDirectW('(

所以我使用将string格式转换为datetime格式

datetime.datetime.strptime('20-01-2015', '%Y-%m-%d')

这是datetime.datetime型。当我插入这个值时,它的投掷低于错误

pyodbc.ProgramingError:('42000','[42000][Microsoft][ODBC Driver 17 for SQL Server][SQL Server]找不到列"datetime"或用户定义函数或聚合"datetime.datetime",或者名称不明确。(4121((SQLExecDirectW('(`

我很震惊-有什么帮助吗?

您的日期时间字符串中缺少时间。你只是在插入日期,这是第一个错误。您可以通过使用日期字符串传递时间来解决此错误,请参阅以下示例:

2015-01-20 00:00:00

或者您可以使用日期时间模块如下:

首先从字符串中生成datetime对象:

datetime_obj = datetime.datetime.strptime('20-01-2015', '%d-%m-%Y')

然后,在将该日期时间对象插入数据库时,只需使用str函数将其转换为日期时间字符串

datetime_str = str(datetime_obj)

现在使用这个datetime_str

最新更新