php - 在mysql中的2个范围之间使用LIKE进行选择

标签 php mysql between sql-like

我试图从数据库表中获取两个不同日期之间的所有值。问题是我的日期列包含格式为“MM/DD/YYYY HH:MM”的字符串形式的日期(即 9/13/2012 13:15、10/14/2012 22:32、11/8/2012 12 :10 等)。我可以使用 SELECT 和 LIKE 查询来获取包含传入的任何日期字符串的所有行,但我需要选择特定范围内的所有行(例如 9/13/2012 和 9/15/2012)。我是否需要转换为日期格式才能完成此操作?

这是通过输入一个日期来工作的代码:

$result=mysql_query("SELECT * FROM data WHERE data_time RLIKE '^$date_range1'");

但我需要在 2 个日期之间进行选择。我尝试了这个,但它不起作用:

$result=mysql_query("SELECT * FROM data WHERE data_time RLIKE BETWEEN '^$date_range1%' and '^$date_range2%");

最佳答案

是的,您需要将日期转换为 datedatetime 类型。

否则排序将不起作用:作为文本,“11/02/2012”位于“12/03/1901”之前,因为“11”小于“12”。

关于php - 在mysql中的2个范围之间使用LIKE进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12610651/

相关文章:

php - MySql 查询需要很长时间 PHP

mysql - 配置mySQL继承操作系统的时区

sql - 如何在 Postgres 中对数组列使用 BETWEEN 条件?

php - 范围包括 '1' 的 BETWEEN 也返回 '10'

背景 : and background-image: 之间的 css 差异

php - 未找到类 'App\Http\Controllers\IntlDateFormatter'

php - laravel - 谷歌分析 API 身份验证

php - 为什么在图像和 css 文件之后查询字符串?

php - 如何从 laravel 中的表中选择所有列名?

php - MySQL 多行的 JSON 编码