PHP-数据库系统日期时间的一些查询语句
总结一下吧。数据库使用的是Oracle.
背景:以前插入数据库数据时,都是在insert into语句中加入日期和时间两列,当时数据分析时都是以天为单位。后面发现想要分析特定时间段内的数据时,不方便。后来就更改了表格结构,引入触发器,当有数据插入时,自动记录数据插入的日期和时间。但是日期和时间组合在一起的字段,在分析时又面临了一个新的问题,PHP语句中需要把 Date的格式转换成Char类型,用到了一个to_char函数,下面以一个demo为例来说明。
数据库中表格内容如下:
表格说明:
触发器,有数据插入时,自动将数据库所在服务器时间插入到这一条记录当中。
create trigger TRI_SYSSHIJIAN
before insert
on SYSSHIJIAN
for each row
when (new.BASETIME is null)
begin
select sysdate into :new.BASETIME from dual;
end;
PHP查询语句
获取2021-6-19 11点和13点之间的表格中NEIRONG列的数据
效果如下:
PHP Select语句如下
SELECT NEIRONG from SYSSHIJIAN where BASETIME >= to_date('$start', 'YYYY.MM.DD HH24:MI:SS')AND BASETIME<= to_date('$end', 'YYYY.MM.DD HH24:MI:SS')
其中$start和$end数据来源于form表单提交的数据
<form method="post"action="phptime.php"target="history">
<table align="left">
<tr><td>开始时间</td><td><input type="text" value="" name="start_time" onclick="SelectDate(this,'yyyy-MM-dd hh:mm:ss')"></td>
<td>结束时间</td><td><input type="text" value=""name="end_time"onclick="SelectDate(this,'yyyy-MM-dd hh:mm:ss')"></td>
<td><input type="submit"value="提交"></td><th style="width: 20px"></th>
</tr>
</table>
</form>