如何在两个字符串时间之间从数据库中获取数据?

时间:2017-06-28 06:24:02

标签: php mysql

现在我正面临与从数据库中获取数据相关的问题。 问题是在数据库时间字段是一个字符串,我需要在时间之间获取数据,所以我无法获取该数据

数据库

r_value varchar(250)

r_date date

r_time varchar(10)

查询

SELECT SUM(r_value) as reading FROM [TABLE NAME] WHERE d_id in (7596)
    AND DATE_FORMAT(r_date, "%Y-%m-%d") = "2017-06-28" 
    AND r_time >= "12:00 AM" AND r_time <= "07:12 am"

那么请帮助我如何在两个字符串时间之间获取数据?

1 个答案:

答案 0 :(得分:0)

对于日期和时间,您最好使用时间戳。

时间戳与服务器无关。

我建议您将字段类型更改为timestamp,然后轻松搜索它。例如:

SELECT SUM(r_value) as reading FROM [TABLE NAME] WHERE d_id in (7596)
    AND r_date = '1498631600'
    AND r_time >= '1498631600' AND r_time <= '1498631600'

或者

SELECT SUM(r_value) as reading FROM [TABLE NAME] WHERE d_id in (7596)
    AND r_date = unix_timestamp('2017-01-01')
    AND r_time >= unix_timestamp('2017-01-01 00:00:00') AND r_time <= unix_timestamp('2017-01-01 00:00:00')

您还可以在客户端以任何格式显示日期和时间。