逻辑运算符的优先级在 libreoffice calc 中重要吗?
Does precedence of logical operators matter in libreoffice calc?
我在 libreoffice calc 中有以下查询:
提取等级为 1 或 2 且薪水 >= 10000 且薪水 <=20000 的记录
我在序列 grade = 1 或 grade=2 and sal >= 10000 and sal<=20000
中使用了标准过滤器
使用上面的序列,我没有得到正确的结果
但是,如果我使用 sal >= 10000 和 sal<=20000 以及 grade = 1 或 grade=2 的序列,那么我会得到正确的结果。
这是因为优先顺序吗?
为什么我得到不同的结果?
是的,你说的对,跟顺序有关
在第一种情况下,Calc 会尝试获取满足条件的记录
grade = 1 or (grade=2 and sal >= 10000 and sal<=20000)
(grade = 1
的所有记录以及 grade = 2
和 sal between 10000 and 20000
的附加记录)
而在第二种情况下,这个条件
sal >= 10000 and sal<=20000 and (grade = 1 or grade=2)
这正是您想要的。
您可以阅读更多详细信息,例如 Wikipedia
我在 libreoffice calc 中有以下查询:
提取等级为 1 或 2 且薪水 >= 10000 且薪水 <=20000 的记录
我在序列 grade = 1 或 grade=2 and sal >= 10000 and sal<=20000
中使用了标准过滤器使用上面的序列,我没有得到正确的结果
但是,如果我使用 sal >= 10000 和 sal<=20000 以及 grade = 1 或 grade=2 的序列,那么我会得到正确的结果。
这是因为优先顺序吗?
为什么我得到不同的结果?
是的,你说的对,跟顺序有关
在第一种情况下,Calc 会尝试获取满足条件的记录
grade = 1 or (grade=2 and sal >= 10000 and sal<=20000)
(grade = 1
的所有记录以及 grade = 2
和 sal between 10000 and 20000
的附加记录)
而在第二种情况下,这个条件
sal >= 10000 and sal<=20000 and (grade = 1 or grade=2)
这正是您想要的。
您可以阅读更多详细信息,例如 Wikipedia