标签: datediff

SQL DateDiff高级用法?

我需要计算两个日期之间的DateDiff(小时),但仅限于营业时间(8:30 - 16:00,没有周末).然后根据下面的示例将此结果放入Reaction_Time列.

ID           Date           Reaction_Time   Overdue
1    29.04.2003 15:00:00                      
1    30.04.2003 11:00:00        3:30        
2    30.04.2003 14:00:00                      
2    01.05.2003 14:00:00        7:30          YES

*注意:我没有检查示例中的日期是否是假日.

我正在使用SQL Server 2005

这将与更大的查询相结合,但是现在我需要的是这个开始,我将试图弄清楚如何将它们全部放在一起.谢谢您的帮助!

编辑:嘿,谢谢大家的回复.但是由于SQL方面的解决方案明显很复杂,我们决定在Excel中执行此操作,而不管报告将在何处移动.不好意思,但我真的认为这比这更简单.事实上,我们没有时间.

sql datediff

3
推荐指数
2
解决办法
5998
查看次数

设置今天截止至今30天的开始和结束日期

我需要以YYYY-MM-DD格式生成两个日期:2010-06-09

过去30天所以结束日期是今天,开始日期是今天 - 30天

你能帮我用以前的格式YYYY-MM-DD生成这两个日期

谢谢大家

php datediff date

3
推荐指数
1
解决办法
1万
查看次数

<?php echo date("H:i:s",0);?>的行为

我用了 :

<?php 
echo date("H:i:s", $var_time_diff);
?>
Run Code Online (Sandbox Code Playgroud)

在两个日期之间建立一个时间..而在我的脑海中它是
$var_time_diff = 36000 = display 10:00:00 for 10 hours.

但实际上

<?php echo date("H:i:s", 0);?> 
Run Code Online (Sandbox Code Playgroud)

显示01:00:00而不是00:00:00.

所以我们有

$date_a = "18:15:04";
$date_b = "23:15:04";
$diff = strtotime($date_b) - strtotime($date_a);
Run Code Online (Sandbox Code Playgroud)

一切都好,暂时$diff是5小时,但如果我们显示这样的日期:

echo date("H:i:s", $diff);
Run Code Online (Sandbox Code Playgroud)

它会"06:00:00".

所以我的php配置有问题,或者这是php函数日期的正常行为?

php datediff date

3
推荐指数
1
解决办法
3515
查看次数

TSQL-查找SQL Server中多个记录的天数差异

是否有可能找到SQL Server 2008 R2中不同记录的天数差异?

SELECT OrderDate FROM OrdersTbl WHERE SKU='AA0000' ORDER BY ORDERDATE DESC


OrderDate
-----------------------
2009-12-03 00:00:00.000
2009-04-03 00:00:00.000
2008-02-22 00:00:00.000
2008-02-21 00:00:00.000
2007-02-18 00:00:00.000
2007-01-27 00:00:00.000
2006-10-13 00:00:00.000
Run Code Online (Sandbox Code Playgroud)

我想要一种方法来获取每个订单日期之间的天数,以便我可以找到平均频率.提前致谢.

sql t-sql average datediff sql-server-2008

3
推荐指数
1
解决办法
4165
查看次数

SQL Query检查今天是否是员工的生日

任何人都可以告诉我如何获得今天生日的员工名单....

谢谢,维沙尔

sql datetime datediff

3
推荐指数
1
解决办法
3万
查看次数

PHP将日期间隔diff转换为十进制

我正在尝试将两个日期之间的差异转换为总年数,现在我正在使用它:

 $datetime1 = new DateTime('2009-10-11'); 
 $datetime2 = new DateTime('2010-10-10');
 $interval = $datetime1->diff($datetime2);
 return $interval->format('%y');
Run Code Online (Sandbox Code Playgroud)

这会给我一个int(比如0表示<一年,2表示两年,等等)

我需要结果为十进制如下:

0.9 - 9个月

1.2 - 1年零2个月

3.5 - 3年零5个月

等等..

谢谢!

php datetime datediff

3
推荐指数
1
解决办法
8004
查看次数

如何从超过6个月的sql中选择数据?

如果来自另一个表的日期至少比今天早6个月,我想从一个表中选择一些数据.我尝试过这样的事情: 如果超过6个月从SQL Server中选择记录, 但我得到错误:子查询返回的值超过1.当子查询跟随=,!=,<,<=,>,> =或子查询用作表达式时,不允许这样做.
这是我的方法:

SELECT FCIF, [Date], [Desc]
FROM tblFCIF
WHERE tblFCIF.FCIF =
(SELECT FCIFSignOff.FCIF
FROM FCIFSignOff
WHERE ID='12'
AND (DateDiff(month,SignOffDate,GetDate()) > 0) )
Run Code Online (Sandbox Code Playgroud)

因此,没有最后一行的代码会选择ID为12的所有内容.我只需要获取6个月前的所有内容.

DATEDIFF(datepart,startdate,enddate)
Run Code Online (Sandbox Code Playgroud)

当'月'在daypart时,它返回月份的差异.

sql datediff

3
推荐指数
1
解决办法
2万
查看次数

从SQL结果中删除周末

我有以下查询,为我产生了许多结果.其中一个是每个记录的天数.

我现在需要一个更准确的数字,从等式中删除周末.不知道如何继续并努力理解我找到的答案.到目前为止,我的查询是:

select
    i.incidentnumber,
    i.priority, 
    i.status, 
    i.subject,
    i.actualsystem, 
    t.ownerteam, 
    convert(varchar,i.createddatetime,103)[Created],
    convert(varchar,i.lastmoddatetime,103)[Modified], 
    datediff(day,i.createddatetime,{fn now()})[Days old],
    datediff(mi,i.createddatetime,{fn now()})[Minutes old],
    cast(i.createddatetime
    i.owner
from 
    incident i with (nolock) inner join task t with (nolock) on t.parentlink_recid = i.recid
where 
    i.status <> 'Closed' 
    and i.actualsystem <> 'System Administration' 
    --and i.service <> 'Service Request'
    and t.status in ('Active','Waiting','Accepted') 
    --and t.ownerteam <> 'UK Service Desk'

order by 
    --t.ownerteam asc
    --i.actualsystem asc
    datediff(day,i.createddatetime,{fn now()}) desc
Run Code Online (Sandbox Code Playgroud)

我正在使用SQL服务器管理器并查询2005数据库.我必要时评论.分钟旧是今天增加的一个新专栏.有人可以帮忙吗?

sql sql-server datediff sql-server-2005

3
推荐指数
1
解决办法
1716
查看次数

如何计算SSRS中2个DateTime字段之间的时差

我正在制作一份涉及图尔的报道.我有一个由tour_start_time数据字段填充的列和另一个由tour_end_time填充的列.然后我有一个名为Total Time的列.总时间列需要以hh:mm格式告诉我tour_start_time和tour_end_time之间的区别.因此,如果tour_start_time返回5:00并且tour_end_time返回5:06则则总时间应为0:06.我似乎无法得到这个和DateDiff的东西,我已经阅读了所有参考参数,这不是我正在使用的.我需要表格中的数据.我试过这个表达式: =DateDiff(minute,Fields!tour_start_time,Fields!tour_end_time)

但这没有用,也没有我试过的任何变种.我知道我错过了一些新的东西,如果这是一个愚蠢的问题我很抱歉,但我需要有人可以向我解释或至少给我另一个功能尝试.

datetime datediff ssrs-2008

3
推荐指数
1
解决办法
3万
查看次数

Fortran中的日期时差

我的目标是让fortran返回两次作为字符串传递的差异,与VBA的TimeDiff非常相似.我现在已经在fortran处理日期和时间了很长一段时间,但在这个特殊情况下找不到我需要的东西.fortran中的第一个问题是如何将字符串转换为可进一步计算的时间变量.例如,time_and_dates ctime将时间转换为字符串,但在我的情况下需要的是完全相反的情况.

由于fortran可以很容易地计算出像程序完成所需时间的现场观察,甚至可以从系统本身中消除时间,所以如果我的想法到目前为止,它显然能够计算出这些东西.

但是如何将我的字符串"YYYYMMDD HHMMSS"传递给时间格式,如何用它来计算以及如何对输出进行短语?

这是一个应该导致的例子:

date1 = as.date("20130512 091519") !Stringinput
date2 = as.date("20131116 120418")


result = time.difference(date1,date2,outputunit="seconds")

print*, 'time diff in sec: ', result !returns something like 4646345 as Integer
Run Code Online (Sandbox Code Playgroud)

由于有能力在其他环境中进行此类计算(秒表等),我真的很感激不涉及任何外部扩展或冒险手动编码的解决方案(365 ...闰年... / 400 ......等等).

有没有办法使用fortran的实习生和系统(win64)为我的目的?

如果没有,通过哪种方式将系统的时间信息传递给fortran,这可能是模仿的(因此源不是"系统"而是"字符串")?

编辑:感谢您的输入到目前为止,但如上所述,我最好使用fortrans实习生能力(因为它在秒表中发生)为工作而不是扩展或手动计算.我发现很难相信日期和时间只能转换为角色而不是反过来...但是无论如何,谢谢你.

datetime fortran datediff

3
推荐指数
1
解决办法
4529
查看次数