表结构如下:
Table_A:
ID WELL_ID 电流A 电流B 电流C 耗电量 采集时间
1 234 5 5 5 100 2010-6-9 15:24:24
2 234 5 5 5 150 2010-6-9 15:44:43
3 234 0 0 0 170 2010-6-9 16:04:52
…  
Table_B:
ID WELL_ID 断电时间
1 234
… 
表的说明:这张表是一个油井的耗电量采集表,每20分钟会由采集设备向这张表中插入数据,[电流A]、[电流B]、[电流C]是三项电流的三个电流值,[耗电量]是一个累加的值,相当于电表的读数,当断电时耗电量不会增加。[采集时间]是date类型的。要求:我要在Table_A上建立一个触发器,当三项电流都为0时向Table_B中插入已经断电的井的WELL_ID和断电时间。因为数据是每20分钟采集一次,有可能在这20分钟的间隔里油井被关闭了,所以不能直接把“采集时间”当做“断电时间”传给Table_B,而是要通过耗电量的比值算出准确的断电时间。假设断电时间为X,通过算式(170-150)*(15:44:43-15:24:24)=(150-100)*(X-15:24:24)可以求出X。现在的问题是这些计算是要在Oracle数据库中的触发器里完成的,[采集时间]是date类型的,请问如何把date类型转换成可以计算的格式,比如如何把日期去掉,只是把时间单提出来并转换成秒,在得出结果后如何把秒转换成时间格式,并加上日期插入到Table_B表中。还有如果断电时间恰好发生在2010-6-9 23:55:45 到2010-6-10 00:15:32之间,该如何判断日期的所属呢?