【问题标题】:Inserting a datetime type value into SQL database将日期时间类型值插入 SQL 数据库
【发布时间】:2020-06-15 18:17:22
【问题描述】:

目前使用pyodbc python模块将一些数据导入SQL数据库。

其中一个数据字段是日期时间,当前对应的 python 变量(我正在尝试加载到 SQL 数据库中)的格式如下:

MM/DD/YY HH:MM:SS ##:##

(其中 ##:## 是操作系统时区的偏移量)。无论如何,我收到以下错误:

“将 nvarchar 数据类型转换为 datetime 日期类型导致值超出范围”

我想知道我最好的选择是纠正这个问题。我应该手动编辑 python 字符串,使其采用不同的格式(例如 YYYY-MM-DD),还是可以在 INSERT INTO 语句中使用 SQL 转换函数?最终,我想我想知道 SQL 寻找什么来转换为日期时间,以便我可以相应地调整我的数据。

谢谢!

【问题讨论】:

  • 请说明如何在支持行业语言 SQL 的哪个数据库中插入日期时间值。此外,您正在指示数据字段。你在使用pandas(一个与通用 Python 完全不同的独立模块)吗?请发布数据和代码,以便我们提供帮助。

标签: python sql pyodbc


【解决方案1】:

是的,有像 select convert(varchar, getdate(), 23) 这样的 SQL 转换函数,用于 YYY-MM-DD

select convert(varchar, getdate(), 22) 

对于 MM/DD/YY HH:MM:SS

是的,您可以将其用于 INSERT INTO 语句,例如

DECLARE @Tdatetime VARCHAR(MAX) 
SET @Tdatetime = CONVERT( VARCHAR, GETDATE() , 106)
INSERT INTO table_name (column1, column2, ...)
VALUES (@Tdatetime , value2, ...)

【讨论】:

    猜你喜欢
    • 2014-09-20
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 2019-10-06
    • 2011-07-14
    • 2010-11-05
    相关资源
    最近更新 更多