python Alchemy filter中datetime类型变量比较

python Alchemy filter中datetime类型变量比较是直接使用>、<或者>=或者<=来比较。

 python Alchemy filter中datetime类型变量比较,不能将datetime变为str再比较,否则条件无效

我的代码中,误以为要将datetime转化成str类型来比较,导致相关filter不起效果。代码如下:

id为46的update时间是 2024-01-02

    print("11111111111111111111111111111")
    query1=StuTest.query.filter(StuTest.id==46).filter(StuTest.update>'2023')
    print("query1:",query1)
    data1=query1.first()
    print(data1.update)
    print("2222222222222222222222222222")
    stu2 = StuTest.query.filter(StuTest.id==46).filter(str(StuTest.update) > '2026')
    print("query1:",stu2)
    data2=stu2.first()
    print(str(data2.update))

以上代码运行结果:

11111111111111111111111111111
query1: SELECT stu_test.id AS stu_test_id, stu_test.stu_name AS stu_test_stu_name, stu_test.stu_age AS stu_test_stu_age, stu_test.stu_class AS stu_test_stu_class, stu_test.`update` AS stu_test_update 
FROM stu_test 
WHERE stu_test.id = %(id_1)s AND stu_test.`update` > %(update_1)s
结果1: 2024-01-02 14:29:33
2222222222222222222222222222
query1: SELECT stu_test.id AS stu_test_id, stu_test.stu_name AS stu_test_stu_name, stu_test.stu_age AS stu_test_stu_age, stu_test.stu_class AS stu_test_stu_class, stu_test.`update` AS stu_test_update 
FROM stu_test 
WHERE stu_test.id = %(id_1)s
结果2: 2024-01-02 14:29:33

可以看到:加了str类型转换后的datetime条件过滤在sql语句中是无效条件。 

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值