Python - 将日期时间参数传递到 SQL 命令中

2023-12-04

我正在尝试用Python做这样的事情,

SQLCommand = ("Delete From %s where [Date] >= %s and [Date] <= %s", (calendar_table_name, required_starting_date, required_ending_date))

cursor.execute(SQLCommand)

calendar_table_name is a string多变的

required_starting_date is a datetime多变的

required_ending_date is a datetime多变的

尝试这个给我一个错误:

要执行的第一个参数必须是字符串或 unicode 查询。

尝试过这个,它给了我同样的错误:

SQLCommand = ("Delete From " +  calendar_table_name + " where [Date] >= %s and [Date] <= %s", ( required_starting_date, required_ending_date))

cursor.execute(SQLCommand)

Edit:

type(required_ending_date)

Out[103]: pandas._libs.tslibs.timestamps.Timestamp


type(required_starting_date)

Out[103]: pandas._libs.tslibs.timestamps.Timestamp

这对我来说适用于 SSMS,

  delete from [table_test] where [Date] >= '2007-01-01' and [Date] <= '2021-01-01';

更新:- 这是我正在尝试使用的代码

Delete_SQLCommand =  f"Delete FROM [{calendar_table_name}] WHERE [Date]>=? And [Date]<=?"
params = (required_starting_date, required_ending_date)

required_starting_date 和 required_ending_date 为“TimeStamp”格式

calendar_tbl_connection = pyodbc.connect(driver=driver, server=required_server, database=database_name,
                     trusted_connection='yes')   
calendar_tbl_cursor = calendar_tbl_connection.cursor()
calendar_tbl_cursor.execute(Delete_SQLCommand,params)
calendar_tbl_connection.commit
calendar_tbl_connection.close()

pyodbc 处理 pandas 没有问题Timestamp值作为适当的输入参数化查询:

# test data
calendar_table_name = "#calendar_table"
crsr.execute(f"CREATE TABLE [{calendar_table_name}] ([Date] date)")
crsr.execute(f"INSERT INTO [{calendar_table_name}] VALUES ('2019-08-22'),('2019-08-24')")
df = pd.DataFrame(
    [(datetime(2019, 8, 23, 0, 0), datetime(2019, 8, 25, 0, 0))],
    columns=['required_starting_date', 'required_ending_date'])
required_starting_date = df.iloc[0][0]
required_ending_date = df.iloc[0][1]
print(type(required_starting_date))  # <class 'pandas._libs.tslibs.timestamps.Timestamp'>

# test
sql = f"DELETE FROM [{calendar_table_name}] WHERE [Date]>=? AND [Date]<=?"
params = (required_starting_date, required_ending_date)
crsr.execute(sql, params)
cnxn.commit()

#verify
rows = crsr.execute(f"SELECT * FROM [{calendar_table_name}]").fetchall()
print(rows)  # [(datetime.date(2019, 8, 22), )]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python - 将日期时间参数传递到 SQL 命令中 的相关文章

  • pandas 替换多个值

    以下是示例数据框 gt gt gt df pd DataFrame a 1 1 1 2 2 b 11 22 33 44 55 gt gt gt df a b 0 1 11 1 1 22 2 1 33 3 2 44 4 3 55 现在我想根据
  • 避免连接失败时出现空指针

    我有我的域类 带有命名查询 class Atendimento implements Serializable Funcionario funcionario static mapping funcionario column FUNCOD
  • 存储过程和权限 - EXECUTE 就足够了吗?

    我有一个 SQL Server 2008 数据库 其中对基础表的所有访问都是通过存储过程完成的 一些存储过程只是从表中选择记录 而其他存储过程则进行 UPDATE INSERT 和 DELETE 如果存储过程更新表 执行存储过程的用户是否也
  • 列中差异的数量

    我想检索一列每行中有多少个字母的差异 例如 如果您有一个值 test 而另一行有一个值 testing 则 test 和 testing 之间的差异为 4 个字母 该列的数据值为 4 I have reflected about it an
  • 从 scikit-learn 导入 make_blobs [重复]

    这个问题在这里已经有答案了 我收到下一个警告 D Programming Python ML venv lib site packages sklearn utils deprecation py 77 DeprecationWarning
  • sql server 按组排名

    问题看似简单 但我却无法理解 这是针对 sql 服务器的 what I have in a table What I need as a output cksum id cksum id 2162514679 204 2162514679
  • keras加载模型错误尝试将包含17层的权重文件加载到0层的模型中

    我目前正在使用 keras 开发 vgg16 模型 我用我的一些图层微调 vgg 模型 拟合我的模型 训练 后 我保存我的模型model save name h5 可以毫无问题地保存 但是 当我尝试使用以下命令重新加载模型时load mod
  • 在循环中每次迭代开始时将变量重新分配给原始值(在循环之前定义)

    在Python中 你使用 在每次迭代开始时将变量重新分配给原始值 在循环之前定义 时 也就是说 original 1D o o o for i in range 0 3 new original 1D revert back to orig
  • 如何在存储过程中实现 sql 搜索功能 (Sql Server 2008)

    我需要编写一个存储过程 该过程将使用 sql server 2008 根据可选参数搜索表 将会有两种模式 基本搜索模式 我们只传递一些文本 高级搜索模式 使用可选参数而不使用 SearchText 为了进行测试 我使用 AdventureW
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • 了解 SSMS 2008 中关系的更新和删除规则

    当我们定义外键约束时 我对 SQL Server 2008 Management Studio 中的更新和删除规则的含义感到困惑 我也没有找到相关的帮助文档 例如F1帮助 这是屏幕快照 如果有人能描述它们的含义并推荐一些相关文档来阅读 我将
  • Python - 在窗口最小化或隐藏时使用 pywinauto 控制窗口

    我正在尝试做的事情 我正在尝试使用 pywinauto 在 python 中创建一个脚本 以在后台自动安装 notepad 隐藏或最小化 notepad 只是一个示例 因为我将编辑它以与其他软件一起使用 Problem 问题是我想在安装程序
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • 如何在 Django 中使用并发进程记录到单个文件而不使用独占锁

    给定一个在多个服务器上同时执行的 Django 应用程序 该应用程序如何记录到单个共享日志文件 在网络共享中 而不保持该文件以独占模式永久打开 当您想要利用日志流时 这种情况适用于 Windows Azure 网站上托管的 Django 应
  • 对多个数据库执行 SQL 查询

    我知道我的帖子与该论坛中的其他帖子的标题非常相似 但我真的找不到我需要的答案 这是我的问题 我的 Windows Server 上运行着 SQL Server 在我的 SQL Server 中 我有大约 30 个数据库 它们都具有相同的表和
  • 在 Pandas DataFrame Python 中添加新列[重复]

    这个问题在这里已经有答案了 例如 我在 Pandas 中有数据框 Col1 Col2 A 1 B 2 C 3 现在 如果我想再添加一个名为 Col3 的列 并且该值基于 Col2 式中 如果Col2 gt 1 则Col3为0 否则为1 所以
  • 使用基于正则表达式的部分匹配来选择 Pandas 数据帧的子数据帧

    我有一个 Pandas 数据框 它有两列 一列 进程参数 列 包含字符串 另一列 值 列 包含相应的浮点值 我需要过滤出部分匹配列 过程参数 中的一组键的子数据帧 并提取与这些键匹配的数据帧的两列 df pd DataFrame Proce
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql

随机推荐

  • 在VS2019中连接Entity Framework与MYSQL

    我刚刚安装了 Visual Studio 2019 并尝试添加具有 ADO NET 实体模型的数据库 但向导在此步骤中崩溃了 选择实体框架版本 我有 Visual Studio Community 2019 v16 4 5安装 MySQL
  • 列表项项目符号重叠

    我有一个无序列表 我希望将其列表项显示为两行多列 问题在于每个列表项的项目符号与前一个列表项重叠 我该如何阻止这种情况发生 我已经找到了一个调整边距的混乱解决方案 但想知道是否有一个优雅的解决方案 我想保留子弹 我不希望列表项中的文本环绕项
  • 使用 cURL 编辑 GIST

    bin bash COMMIT git log 1 pretty format subject s name xxx date cD curl X PATCH d files latest commit content COMMIT u u
  • 如何将 Cassandra 的本地节点复制到其他 Cassandra 的远程节点?

    我需要使用 SimpleStrategy 将本地节点复制到其他 Cassandra 数据库中的远程节点 有人知道我从哪里开始吗 如果您要将数据写入两个集群 那么这里的主要复杂性是如何避免覆盖在本地设置之后在云中更改的数据 有几种可能性可以做
  • 如何在“电话:”链接中提供拨打分机号的选项?

    将电话链接设置为 a href Dial a 从移动浏览器中单击它 只有初始号码会传输到拨号器 而不是逗号或扩展名 我试过了p w and ext 也一样 但没有任何作用 p and w分别更改为 7 和 9 使用 Moto X 第一代进行
  • python中小于负无穷大的数字? [复制]

    这个问题在这里已经有答案了 这在 python2 中是可能的 None lt float inf 还有 它always returns True 然而 在 python3 上 这会抛出 TypeError unorderable types
  • 为多个用户主动安装/推送团队中的应用程序

    我有一个关于如何在 Teams 中为多个用户主动安装 推送应用程序 的疑问 我们已将 Bot 应用程序添加为 Teams 应用程序目录的一部分 并且我按照以下有关 Microsoft Teams 中的管理应用程序设置策略的文档来安装应用程序
  • 地图和法律提及

    在 iOS 我的问题是我必须向我的地图添加页脚子视图 它将隐藏合法链接 如何解决这个问题而不被 App Store 拒绝 我可以自己创建另一个合法按钮并将其添加到地图视图中我想要的位置吗 我不知道我能做什么 有一些答案建议您将合法标签移至v
  • Html.Partial 与 Html.RenderPartial 和 Html.Action 与 Html.RenderAction

    在 ASP NET MVC 中 有什么区别 Html Partial and Html RenderPartial Html Action and Html RenderAction Html Partial返回一个字符串 Html Ren
  • 当前上下文中不存在名称“ViewBag”

    我正在尝试在我的应用程序中使用 ViewBag 我拥有所有最近的 dll 最新版本的 MVC 3 但我仍然收到错误 名称 ViewBag 在当前上下文中不存在 我什至卸载并重新安装了 MVC 3 但没有任何变化 另外 我不相信 dll 会出
  • 通过 Gmail 发送电子邮件

    我有一个代码 用于发送电子邮件 Intent i new Intent Intent ACTION SEND i setType text plain i putExtra Intent EXTRA EMAIL new String to
  • 计算中使用的提示或宏变量

    我使用 EG 中的提示管理器创建了一个数字变量 该变量称为 HYr 代表我提取的数据最高年份 运行程序时 我根据最高年份创建了 4 个新变量 这就是我遇到问题的地方 我有以下内容 Let Yr2 HYr 1 Let Yr3 HYr 2 Le
  • Vapor 4:如何将急切加载的父关系映射为不同的格式?

    我在如何返回包含父关系的模型 同时将急切加载的模型映射到不同的形式方面遇到了一些困难 让我们考虑以下 2 个模型 Course and User final class Course Model Content static let sch
  • docker-compose 主机和容器上的持久数据

    我在 docker compose yml 3 0 中遇到卷问题 所以我知道一个卷的行为就像一个挂载 但是我已经设置了一个wiki 当我在docker compose中设置一个卷时 容器上的数据将被删除 隐藏 那么我怎样才能先将数据从容器保
  • 递归搜索并删除数组?

    我正在使用一个多维数组 我希望能够删除与 id 匹配的数组 和所有子数组 我尝试过的功能是 function removeKey key array childKey children if isset array key unset ar
  • 浮动/浮动=奇怪的结果

    我有两个值 一个来自用户输入 另一个来自数据库 var userinput form someInput var valuefromDB GetValue someNumber public float GetValue int id re
  • XSLT 2.0 通过多阶段转换在 HTML 输出中创建增量脚注编号

    这个问题建立在我对我的回答的基础上原问题 有人建议我发布后续内容 这涉及到尝试集成上一篇文章中的 XSL 代码 在上一个问题中 我提出了 TEI XML 文档的简化版本 我正在使用 XSLT 2 0 将其转换为 HTML 完整的 tei 文
  • 如何计算体素大小?

    提供了 DICOM 标头中的以下信息 如何计算体素大小的第三个值 我假设前两个值为 0 515625 和 0 515625 BitsAllocated 16 BitsStored 12 Columns 512 HighBit 11 Imag
  • 为什么 scanf 在提供 double 时返回 0.000000?

    我有以下汇编代码 为 Linux 上的 NASM 编写 This code has been generated by the 7Basic compiler
  • Python - 将日期时间参数传递到 SQL 命令中

    我正在尝试用Python做这样的事情 SQLCommand Delete From s where Date gt s and Date lt s calendar table name required starting date req