【发布时间】:2014-10-17 15:05:22
【问题描述】:
我有问题。我需要在我的表中以小时为单位获取日期差异,但问题是它保存在同一个字段中。这是我的桌子的样子。
RecNo. Employeeno recorddate recordtime recordval
1 001 8/22/2014 8:15 AM 1
2 001 8/22/2014 5:00 PM 2
3 001 8/24/2014 8:01 AM 1
4 001 8/24/2014 5:01 PM 2
1 表示进入,2 表示超时。现在,我将如何获得每天工作的小时数?我想得到的是这样的。
Date hoursworked
8/22/2014 8
8/24/2014 8
我正在使用 VS 2010 和 SQL Server 2005
【问题讨论】:
-
您的列数据类型是什么?您希望在 SQL 还是 VB 中执行此操作?
-
recnoEmpoloyeeno都是 nvarchar,recorddaterecordtime都是日期时间字段,recordval是整数。我真正想做的是底部示例,从上表中提取date和hoursworked,将其保存到另一个表并从那里生成报告。 -
到目前为止我所做的是设置一个范围
startdate' andenddate`来循环遍历所有日期并调用2个SQL查询;查询 1 针对recordval=1 的条件,查询2 针对recordval= 2 的条件,从那里得到`recordtime',但是这种方法执行起来有点慢。在一周内计算 25 名员工的工作小时数大约需要 12 秒才能完成。
标签: sql vb.net visual-studio-2010 sql-server-2005