SQL/PHP-在两个日期之间选择,并打印日期
我试图在PHP和SQL中选择两个日期。但是,我的PHP日期打印如下:SQL/PHP-在两个日期之间选择,并打印日期,php,mysql,sql,date,Php,Mysql,Sql,Date,我试图在PHP和SQL中选择两个日期。但是,我的PHP日期打印如下: July 1, 2017 及 问题是,在我选择的数据库中,日期是这样存储的 年月日: 2017-07-01 和2017-07-30 我正在尝试进行查询,以便在两个日期之间进行选择: SELECT dl.list_id, dl.id, dl.date, dl.list_name, dl.list_supplier, dls.reference, dls.mawb, dls.shipment, dls.kg FROM drivi
July 1, 2017
及
问题是,在我选择的数据库中,日期是这样存储的
年月日:
2017-07-01
和2017-07-30
我正在尝试进行查询,以便在两个日期之间进行选择:
SELECT dl.list_id, dl.id, dl.date, dl.list_name, dl.list_supplier, dls.reference, dls.mawb, dls.shipment, dls.kg
FROM driving_lists dl LEFT JOIN
driving_list_shipments dls
ON dl.list_id = dls.list_id
WHERE dl.deleted=0 AND dls.kg > 0 AND dl.date between 'FORMAT(July 01, 2017,'yyyy-MM-DD')' and 'FORMAT(July 30, 2017,'yyyy-MM-DD')'
ORDER BY dl.list_id
因此,问题在于:
dl.date between 'FORMAT(July 01, 2017,'yyyy-MM-DD')' and 'FORMAT(July 30, 2017,'yyyy-MM-DD')'
如何将两个日期转换为数据库使用的格式,从而在两个日期之间进行选择?如果要在数据库中进行转换,应使用
str\u to\u date()
:
WHERE dl.deleted = 0 AND dls.kg > 0 AND
dl.date between str_to_date('July 01, 2017', '%M %d, %Y') and
str_to_date('July 30, 2017', '%M %d, %Y')
注意:dl.date
应作为日期存储在数据库中 尝试使用date()php函数像这样
$date1='July 30, 2017';
$date1=date('Y-m-d',strtotime($date1));
$date2='July 1, 2017';
$date2=date('Y-m-d',strtotime($date2));
如果您打印$date1
和$date2
,它将如下所示
"2017-07-30"
"2017-07-01"
在mysql中试试这个=>UNIX\u时间戳(日期)
"2017-07-30"
"2017-07-01"