gpt4 book ai didi

MySQL : date format not working with OR in where condition

转载 作者:行者123 更新时间:2023-11-29 05:04:18 25 4
gpt4 key购买 nike

每当我在 where 条件下使用 OR 时,我的查询将放置 date_format() 它就可以工作,但是当我使用 AND 时,它是工作正常。

真实查询:

SELECT * FROM `tbl_inquiry_trans`
WHERE date_format(follow_updatetime,'%Y-%m-%d') >= '2018-08-02'
AND date_format(follow_updatetime,'%Y-%m-%d') <= '2018-08-02'
AND emp_id=2 or user_id=2

上面的查询应该显示特定的日期数据,但它显示的是所有日期数据。

测试查询:

SELECT * FROM `tbl_inquiry_trans`
WHERE date_format(follow_updatetime,'%Y-%m-%d') >= '2018-08-02'
AND date_format(follow_updatetime,'%Y-%m-%d') <= '2018-08-02'
AND emp_id=2

当我使用 AND 时,它会显示预期日期数据,但我想在 where 子句中使用 OR

最佳答案

and逻辑运算符的优先级高于 or运算符(即,and 表达式在 or 表达式之前计算,类似于在算术表达式中计算加法之前先计算乘法)。为了实现您想要的行为,您需要包围 or 的两侧带括号的运算符:

SELECT * 
FROM tbl_inquiry_trans
WHERE date_format(follow_updatetime,'%Y-%m-%d')>='2018-08-02' AND
date_format(follow_updatetime,'%Y-%m-%d')<='2018-08-02' AND
(emp_id=2 OR user_id=2) -- Here

关于MySQL : date format not working with OR in where condition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51646923/

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