字段: START_DATE START_TIME END_DATE END_TIME TIME_YU
20041019 235625 20041020 000236 (这里要得出值)2004-10-19 23:56:25~20041020 00:02:36 这一个时间段,在00:00:00~07:00:00这个时间段内有多少秒时间?求SQL语句
20041019 235625 20041020 000236 (这里要得出值)2004-10-19 23:56:25~20041020 00:02:36 这一个时间段,在00:00:00~07:00:00这个时间段内有多少秒时间?求SQL语句
解决方案 »
- csdn上罢工一周,支持Oversense (步步文)讨回公道!!!
- TIdTCPServer的OnExecute事件不写代码,我只需要他的onConnect事件,为什么会报错呢?
- 第一次用FastReport请教:FastReport生成的报表如何实现预览和打印?
- cxgrid问题,请指教!
- 一个BDE的初级问题
- 为什么第一次执行查询窗口没有显示结果?
- 如何把STR型转化为MONEY型,有没有STRTOMONEY这样的函数?
- 在tdset的控件中的用append来添加数据需要用按钮的onclick事件来触发吗?(毕设,急呀!!)
- d6中DCOM的端口号是多少????
- 不是吧,那个数据库程序那么多人要?我那里也有一个更强的啊!
- 求教 ,NVL的问题
- 关于ClientSocket1连接的问题(局域网内能正常连接发送数据,interner却不行)
天数*24*60*60=总秒数
总秒数+START_TIME - END_TIME = 秒差一点想法
case when
(开始时间> 07:00:00 and 开始时间<24:00:00 and 结束时间>07:00:00 and 结束时间<24:00:00)
then 0
when
(开始时间> 07:00:00 and 开始时间<24:00:00 and 结束时间>第二天的00:00:00 and 结束时间<第二天的07:00:00)
then 结束时间-午夜时间
when
(开始时间> 00:00:00 and 开始时间<07:00:00 and 结束时间>00:00:00 and 结束时间<07:00:00)
then 结束时间-开始时间
when
(开始时间> 00:00:00 and 开始时间<07:00:00 and 结束时间>07:00:00 and 结束时间<24:00:00)
then 07:00:00-开始时间
end
from
hd1120
DATEDIFF(ss,
case when START_TIME<'070000' then CAST((START_DATE+' '
+ REFT(START_TIME,2) +':' + SUBSTRING(START_TIME,3,2) +':' + SUBSTRING(START_TIME,5,2)) as datetime else DATEADD(dd,CAST(START_DATE as DATETIME),1) end ,
case when END_TIME<'070000' then CAST((END_DATE+' '
+ REFT(END_TIME ,2) +':' + SUBSTRING(END_TIME ,3,2) +':' + SUBSTRING(END_TIME ,5,2)) as datetime else CAST(END_DATE + '07:00:00')as DATETIME) end )
when @i>0 then @i else 0 ;
DATEDIFF(ss,
case when START_TIME<'070000'
then CAST(START_DATE+' '
+ LEFT(START_TIME,2) +':'
+ SUBSTRING(START_TIME,3,2) +':'
+ SUBSTRING(START_TIME,5,2) as datetime)
else DATEADD(dd,1,CAST(START_DATE as DATETIME)) end,
case when END_TIME<'070000'
then CAST(END_DATE+' '
+ LEFT(END_TIME ,2) +':'
+ SUBSTRING(END_TIME ,3,2) +':'
+ SUBSTRING(END_TIME ,5,2) as datetime)
else CAST((END_DATE + ' 07:00:00')as DATETIME) end)
where tel like '0%'结贴了。