Php 无法在两个日期之间找到正确的记录
我正在尝试使用Php 无法在两个日期之间找到正确的记录,php,mysql,sql,date,Php,Mysql,Sql,Date,我正在尝试使用=和='15/04/2015'查找到日期之间的记录 和日期格式(创建日期,'%d/%m/%Y')这样做是错误的。不要将日期转换为字符串。将字符串intput转换为日期 改变 AND DATE_FORMAT(created_date, '%d/%m/%Y' ) >= '15/04/2015' 到 或者使用默认的日期格式 SELECT * FROM tma_38 WHERE city LIKE '%%' AND created_date >= '2015-04-15'
=
和='15/04/2015'查找到日期之间的记录
和日期格式(创建日期,'%d/%m/%Y')这样做是错误的。不要将日期转换为字符串。将字符串intput转换为日期
改变
AND DATE_FORMAT(created_date, '%d/%m/%Y' ) >= '15/04/2015'
到
或者使用默认的日期格式
SELECT *
FROM tma_38
WHERE city LIKE '%%'
AND created_date >= '2015-04-15'
AND created_date < '2015-04-22'
ORDER BY created_date ASC
LIMIT 0 , 10
选择*
来自tma_38
像“%”这样的城市在哪里
创建日期>='2015-04-15'
创建日期<'2015-04-22'
按创建日期ASC排序的订单
限制0,10
我选择了2015-04.22
而不是21
,因为你也存储了时间部分。你做得不对。不要将日期转换为字符串。将字符串intput转换为日期
改变
AND DATE_FORMAT(created_date, '%d/%m/%Y' ) >= '15/04/2015'
到
或者使用默认的日期格式
SELECT *
FROM tma_38
WHERE city LIKE '%%'
AND created_date >= '2015-04-15'
AND created_date < '2015-04-22'
ORDER BY created_date ASC
LIMIT 0 , 10
选择*
来自tma_38
像“%”这样的城市在哪里
创建日期>='2015-04-15'
创建日期<'2015-04-22'
按创建日期ASC排序的订单
限制0,10
我选择了2015-04.22
而不是21
,因为你也存储了时间部分。你做得不对。不要将日期转换为字符串。将字符串intput转换为日期
改变
AND DATE_FORMAT(created_date, '%d/%m/%Y' ) >= '15/04/2015'
到
或者使用默认的日期格式
SELECT *
FROM tma_38
WHERE city LIKE '%%'
AND created_date >= '2015-04-15'
AND created_date < '2015-04-22'
ORDER BY created_date ASC
LIMIT 0 , 10
选择*
来自tma_38
像“%”这样的城市在哪里
创建日期>='2015-04-15'
创建日期<'2015-04-22'
按创建日期ASC排序的订单
限制0,10
我选择了2015-04.22
而不是21
,因为你也存储了时间部分。你做得不对。不要将日期转换为字符串。将字符串intput转换为日期
改变
AND DATE_FORMAT(created_date, '%d/%m/%Y' ) >= '15/04/2015'
到
或者使用默认的日期格式
SELECT *
FROM tma_38
WHERE city LIKE '%%'
AND created_date >= '2015-04-15'
AND created_date < '2015-04-22'
ORDER BY created_date ASC
LIMIT 0 , 10
选择*
来自tma_38
像“%”这样的城市在哪里
创建日期>='2015-04-15'
创建日期<'2015-04-22'
按创建日期ASC排序的订单
限制0,10
我选择了2015-04.22
而不是21
,因为您还存储了时间部分。使用sql语句
created_date between $filter["company_date_from"] and $filter["company_date_to"]
像这样使用sql语句
created_date between $filter["company_date_from"] and $filter["company_date_to"]
像这样使用sql语句
created_date between $filter["company_date_from"] and $filter["company_date_to"]
像这样使用sql语句
created_date between $filter["company_date_from"] and $filter["company_date_to"]
更改并设置过滤器的日期格式。试试-
AND created_date <= '".date('Y-m-d 00:00:00', strtorime(str_replace('/', '-', $filter['company_date_to'])))."'"
更改并设置过滤器的日期格式。试试-
AND created_date <= '".date('Y-m-d 00:00:00', strtorime(str_replace('/', '-', $filter['company_date_to'])))."'"
更改并设置过滤器的日期格式。试试-
AND created_date <= '".date('Y-m-d 00:00:00', strtorime(str_replace('/', '-', $filter['company_date_to'])))."'"
更改并设置过滤器的日期格式。试试-
AND created_date <= '".date('Y-m-d 00:00:00', strtorime(str_replace('/', '-', $filter['company_date_to'])))."'"
这不起作用的原因是,用字符串格式的日期不能正常工作
字符串比较从开头开始,因此像10/04/2010
这样的数字将被视为大于04/04/2015
,这显然是不正确的。使用该格式存储日期的部分原因是因为yyyy-mm-dd
格式可防止类似的错误字符串比较
此外,您的表设计可以发挥您的优势,因为该列存储为时间戳
,MySQL已经设计了几种用于这些类型的表
要修复查询,您需要将这些值视为它们所属的timestamp
类型,并且与MySQL中的其他类型一样,您可以对它们使用比较运算符。因此,要检查某个范围之间的日期,可以执行以下两种操作之一:
WHERE myDate >= startDate AND myDate <= endDate
---
WHERE myDate BETWEEN startDate AND endDate
其中myDate>=startDate和myDate这不起作用的原因是,用字符串格式的日期不能正常工作
字符串比较从开头开始,因此像10/04/2010
这样的数字将被视为大于04/04/2015
,这显然是不正确的。使用该格式存储日期的部分原因是因为yyyy-mm-dd
格式可防止类似的错误字符串比较
此外,您的表设计可以发挥您的优势,因为该列存储为时间戳
,MySQL已经设计了几种用于这些类型的表
要修复查询,您需要将这些值视为它们所属的timestamp
类型,并且与MySQL中的其他类型一样,您可以对它们使用比较运算符。因此,要检查某个范围之间的日期,可以执行以下两种操作之一:
WHERE myDate >= startDate AND myDate <= endDate
---
WHERE myDate BETWEEN startDate AND endDate
其中myDate>=startDate和myDate这不起作用的原因是,用字符串格式的日期不能正常工作
字符串比较从开头开始,因此像10/04/2010
这样的数字将被视为大于04/04/2015
,这显然是不正确的。使用该格式存储日期的部分原因是因为yyyy-mm-dd
格式可防止类似的错误字符串比较
此外,您的表设计可以发挥您的优势,因为该列存储为时间戳
,MySQL已经设计了几种用于这些类型的表
要修复查询,您需要将这些值视为它们所属的timestamp
类型,并且与MySQL中的其他类型一样,您可以对它们使用比较运算符。因此,要检查某个范围之间的日期,可以执行以下两种操作之一:
WHERE myDate >= startDate AND myDate <= endDate
---
WHERE myDate BETWEEN startDate AND endDate
其中myDate>=startDate和myDate这不起作用的原因是,用字符串格式的日期不能正常工作
字符串比较从开头开始,因此像10/04/2010
这样的数字将被视为大于04/04/2015
,这显然是不正确的。使用该格式存储日期的部分原因是因为yyyy-mm-dd
格式可防止类似的错误字符串比较
此外,您的表设计可以发挥您的优势,因为该列存储为时间戳
,MySQL已经设计了几种用于这些类型的表
要修复查询,您需要将这些值视为它们所属的timestamp
类型,并且与MySQL中的其他类型一样,您可以对它们使用比较运算符。因此,要检查某个范围之间的日期,可以执行以下两种操作之一: