我正在尝试比较字符串变量在我的Python脚本中使用SQL中的varchar变量。以下是我的代码片段:
todaysDate = datetime.now().date().strftime('%d-%m-%y')
read(conn, f'select cou_id from NewCourier where date_created = {todaysDate}'
地点:
todaysDate
=>python中存储当前日期的变量
cou_id
&date_created
=比;关系DB表中的列NewCourier
我试着:
read(conn, f'select cou_id from NewCourier where CAST(date_created AS INT) = {todaysDate}
我也在StackOverflow和其他网站上浏览了几个问题和解决方案,发现只有这个解决方案与我的问题相似,但我不清楚如何解决它。
谢谢!
Python 3.8.5
SQL Server Management Studio 18
似乎列数据类型是整数,您正试图将其与字符串进行比较。如果你能在你的程序中找到插入到表中的代码,你应该能够弄清楚如何正确地转换日期时间
没有创建一个变量来存储Python中的当前日期,我使用了GETDATE()
方法使用CONVERT()
方法将其转换为varchar在SQL中解决了我的问题
(即。例如,它使我能够获得在特定日期生成的所有记录的快递id)。
这是更新后的行:
read(conn, f'select cou_id from NewCourier where date_created = CONVERT(varchar, getdate(), 23)