在我的数据集中,月份以**'June-21','Aug-21'**这样的格式存储。
对于带有Between
的查询:
Select sum(downloads)
from ratings
where months between 'October-21'and 'December-21';
它获取空值,而使用IN
运算符,它给出了完美的结果。
使用IN
运算符查询:
SELECT SUM(downloads) AS total_downloads
FROM ratings
WHERE months in ('October-21', 'November-21' , 'December-21')
为什么使用between
的查询不起作用?
我尝试了IN
操作符,它工作了。但我的问题是为什么它不适用于between
?
Dataviewerror with between operator
1条答案
按热度按时间5gfr0r5j1#
这是因为
BETWEEN a AND B
表示 * 大于或等于 * a * 且小于或等于 * b。“October”的“O”在“December”的“D”之后,所以这两者之间没有任何关系。你在比较字符串,而不是日期。另请参阅此测试:
fiddle