这里我提到查询:
低值 = 3, 上限值 = 6
SELECT * FROM SampleTable where tableDay BETWEEN 'lowerValue' AND 'upperValue';
这个查询工作正常,但我需要下面的查询类型
低值 = 3, 上限值 = 6
SELECT * FROM SampleTable where tableDay BETWEEN 'upperValue' AND 'lowerValue';
它作为空列表返回,因为两个值都是动态的,我做错了什么?
最佳答案
作为快速修复,您可以使用 GREATEST()/LEAST()比较函数:
SELECT *
FROM SampleTable
WHERE tableDay BETWEEN LEAST(upperValue, lowerValue) AND
GREATEST(upperValue, lowerValue);
但如果 upperValue
可以小于 lowerValue
则使用不同的名称。
关于mysql - 如何将MySQL Between用于Higher value to Lower value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38389554/