gpt4 book ai didi

python - 将数据库中的日期值与日期文字进行比较

转载 作者:太空宇宙 更新时间:2023-11-03 19:28:54 25 4
gpt4 key购买 nike

我正在使用 ADODB 对象从 DB2 数据库中获取日期值。该日期有时设置为 1/1/0001。这是 SQL Server 中的无效日期时间。我需要检查该值并将其设置为有效的 SQL Server 日期(例如 1/1/1900)。来自 ADODB 的对象看起来是 time.struct_time 。获取 1/1/0001 的最佳方式是什么?作为time.struct_time对象并检查它是否与来自 DB2 数据库的相同值相等?

编辑:

所以我对发生的事情有了更多的了解。我已经尝试过d0nut建议的方法,但比较仍然失败。什么时候打印什么time.strptime('1/1/0001', '%d/%m/%Y')返回,你得到 1/1/2001 ,不是1/1/0001 。当我尝试调用time.asctime(timeFromDb2)时(即使使用数据库中的有效日期值),我收到此异常消息:argument must be 9-item sequence, not time 。我的猜测是time我从数据库获取的对象无效,但因为有问题的脚本除了将其传递到连接到 SQL Server 的另一个 ADODB Recordset 对象之外什么也不做,所以一切正常。有人对从这里去哪里有什么建议吗?下面粘贴了从 DB2 检索日期并将其存储在 SQL Server DB 中的代码。这已经工作了很多年,直到今天我们开始获得 1/1/0001 的值。来自 DB2。 InventoryCoils对象都是通过调用 win32com.client.Dispatch("ADODB.Recordset") 创建的

self.Inventory.Fields("promised_date").Value   = self.Coils.Fields("csaxdz").Value

最佳答案

您应该能够将其转换为字符串:

time.strftime('%d/%m/%Y', badtimeobj)

并以这种方式进行比较,或者

try:
time.asctime(timeFromDb2)
except:
invalid = True
else:
invalid = False

或者等效的,如果所有其他日期都在 asctime 中工作。

关于python - 将数据库中的日期值与日期文字进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6996855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com