日期:2014-05-16  浏览次数:20880 次

日期调整上班时间(分),谢谢
各位,由于考勤时间需要调整,像这种时间怎么调整,谢谢!
时间分小于30分的调整为整点,
时间分小于60分的调整为30分,

示例数据:
上班时间         调整后时间
2014/04/04 12:43 2014/04/04 12:30
2014/04/05 06:46 2014/04/05 06:30
2014/04/07 12:21 2014/04/07 12:00
------解决方案--------------------
--> 测试数据:#tb
IF OBJECT_ID('tempdb.dbo.#tb') IS NOT NULL DROP TABLE #tb
GO 
CREATE TABLE #tb([上班时间] DATETIME)
INSERT #tb
SELECT '2014/04/04 12:43' UNION ALL
SELECT '2014/04/05 06:46' UNION ALL
SELECT '2014/04/07 12:21'
--------------开始查询--------------------------

SELECT DATEADD(mi,DATEDIFF(mi,1,[上班时间])/30*30,1) FROM #tb
----------------结果----------------------------
/* 
(No column name)
2014-04-04 12:30:00.000
2014-04-05 06:30:00.000
2014-04-07 12:00:00.000
*/