我正在尝试使用convert(datetime,'19-01-16 11:34:09 PM',5)
更新数据库表,但是当我将其作为字符串传递到数据库表时,我收到了数据类型转换错误。
从字符串转换日期和/或时间时转换失败。
insert into Run (RunID, StartDate)
values ('19012016',"convert(datetime,'19-01-16 11:34:09 PM',5)")
答案 0 :(得分:1)
您收到错误是因为您正在将其视为字符串值。代替:
div.pointer {
animation: pointer 3s;
}
@keyframes pointer {
from {
transform: rotate(0deg);
}
to {
transform: rotate(-30deg);
}
}
也就是说,你的报价太多了。在Python中,这通常写成:
insert into Run(RunID, StartDate)
values ('19012016', convert(datetime, '19-01-16 11:34:09 PM', 5))
如果要插入值:
"""insert into Run(RunID, StartDate)
values ('19012016', convert(datetime, '19-01-16 11:34:09 PM', 5))"""
如果您可以选择日期表示,我建议您使用更常见的格式,例如YYYY-MM-DD HH:MM:SS。
答案 1 :(得分:0)
使用T-SQL将字符串值转换为日期时间值可能容易出错,尤其是在您必须考虑不同的语言环境和时区时。
不使用T-SQL进行转换,而是使用parameters与原始Python datetime值。 Python提供的datetime parsing and formatting比T-SQL更具灵活性。
有关在pyodbc参数中使用Python日期时间值的示例,请参阅我的答案here。