我如何输入开始和结束日期的小时和分钟

时间:2019-09-06 06:37:25

标签: sql date

在我的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."')";

1 个答案:

答案 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),