在我的SQL查询中,我必须选择从开始日期00:00:00到结束日期23:59:59的特定日期。但是,如果日期值不是硬编码,我该如何输入小时和分钟。它们在前端以表格形式输入,然后运行特定的报告。下面是我的代码有什么想法?应该是这样
BETWEEN'2019-06-00 00:00:00'和'2019-06-10 23:59:59'
$start_date = $_GET['start_date'];
$end_date = $_GET['end_date'];
$sql = "SELECT
outlets.outletname,
outlets.barcode,
invoiceissued.invoiceno,
invoiceissued.total_amount,
invoiceissued.VATAmount,
invoiceissued.date_created,
outlets.businessregistrationno,
outlets.vat
FROM `invoiceissued` , outlets
WHERE
invoiceissued.outletid = outlets.outletsid
and `date_created` BETWEEN ('".$start_date."') AND ('".$end_date."')";
答案 0 :(得分:0)
只需从以下脚本中了解一下如何处理开始日期和结束日期即可。
SELECT
CAST('2019-06-00' AS DATETIME),
CAST(DATE_ADD('2019-06-10', INTERVAL 1 DAY) AS DATETIME);
/*Added 1 day with the end date so that you can use date < end_date*/
您的查询将类似于-
....
WHERE
....
AND `date_created` >= CAST('2019-06-00' AS DATETIME)
AND `date_created` < CAST(DATE_ADD('2019-06-10', INTERVAL 1 DAY) AS DATETIME);
仍然要使用BETWEEN,脚本应如下所示-
....
WHERE
....
AND `date_created`
BETWEEN CAST('2019-06-00' AS DATETIME)
AND CAST(CONCAT('2019-06-10',' 23:59:59') AS DATETIME),