如何在mysql中过滤日期,时间

问题描述 投票:-4回答:2

在我的数据库中,日期和时间字段是分隔的行,我如何像DateTime一样过滤?

SELECT    
    ac_head_type, 
    ac_head_id,  
    narration, 
    amount, 
    user_id, 
    tr_time, 
    trans_no
FROM         
    vouchers  
WHERE   
    vouchers.tr_date >= '$d_start' 
    AND vouchers.tr_date <= '$d_end' 
    AND TIME(tr_time) >= '$time_start' 
    AND TIME(tr_time) <= '$time_end';

Datas screen shot

php mysql
2个回答
1
投票

您可以使用TIMESTAMP过滤具有不同日期和时间列的数据

对于Ex:

SELECT * FROM tablename WHERE TIMESTAMP(datecol, timecol) > '2018-01-01 12:00:00';

要么

SELECT * FROM tablename WHERE TIMESTAMP(datecol, timecol) BETWEEN fromTimeStamp AND nowTimeStamp

0
投票

您可以转换为字符串,然后使用普通的where子句过滤器

SELECT * 
FROM my_table
WHERE CONCAT(tr_date, ' ', tr_time) > '2018-01-01 12:00:00';
© www.soinside.com 2019 - 2024. All rights reserved.