现在我正面临与从数据库中获取数据相关的问题。 问题是在数据库时间字段是一个字符串,我需要在时间之间获取数据,所以我无法获取该数据
数据库
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"
那么请帮助我如何在两个字符串时间之间获取数据?
答案 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')
您还可以在客户端以任何格式显示日期和时间。