在实现业务时,我们有时候会遇到选择月的情况,从某月选到某月。
但是直接使用下面语句有可能导致取不到六月的值,导致取值范围变成左闭右开类型。
a.time BETWEEN '2023-05' AND '2023-06'
应该写为
LEFT(a.time,7) BETWEEN '2023-05' AND '2023-06'
同理如果是天的话
LEFT(a.time,10) BETWEEN '2023-05-01' AND '2023-05-31'
这里的LEFT(a.time,10),其实和左连接类似,或者说就是左链接。
左连接以左表作为主表,再取两个表的共同点。
也可以理解为以左边作为原点进行截取操作。
在这里我们可以将时间看为主表,也就是2023-01-01 12:01:21
而对它取十(天),则是 {2023-01-01} 12:01:21,可以看到大括号中的内容。
同理如果是取七(月)的话{2023-01}-01 12:01:21