我试图谷歌答案,但没有发现,也没有MySQL BETWEEN page和MySQL Pattern matching page都没有任何关于它的信息。
所以,我很好奇,在BETWEEN运算符中使用SQL模式是正确的,就像SELECT * FROM table WHERE date BETWEEN '2019-01-01%' AND '2019-02-01%'
在date
模式中使用Y-m-d H:i
一样。
不建议在=,>和<cases中使用SQL模式,但不建议使用BETWEEN
首先,没有like
支持between
。它没有意义。
其次,你不应该在日期使用字符串函数。 MySQL有很多非常有用的字符串功能。
最后,您可以使用常规比较:
where date >= '2019-01-01' and date < '2019-02-02'
具有讽刺意味的是,当日期列(正确地)存储为date
时,这将起作用。以及它作为datetime
存储的内容。并作为一个字符串(给定您指定的格式)。