随便写下
比如说我课程的章节是1.1.1 到 1.3.9,varchar格式,分别对应卷.篇.章
如下sql,会将第2篇,第三篇的全部内容查出来
select * from zbl_chapter c where c.chapter_path BETWEEN “1.2.1” and ‘1.3.2’ and c.chapter_level = 3
同样,使用select * from zbl_chapter c where c.chapter_path BETWEEN “1.2.1” and ‘1.3.6’ and c.chapter_level = 3,查出来的内容也和上图一样。
为什么呢!?between,比较了1.2,1.3,但是没有比较第三级的章
所以,我们使用
select * from zbl_chapter c where c.chapter_path >= ‘1.2.1’ and c.chapter_path <=‘1.3.2’ and c.chapter_level = 3;
这样的语句,选择就正确了
网上很多说的,between和没区别,我也是信了邪我才没尝试。记录一下