【发布时间】:2015-11-30 07:58:01
【问题描述】:
我使用以下查询通过提供 datetime 来提取工作日,这工作正常,但我需要从毫秒列中提取工作日
如果TIMEVAL 是DATETIME 数据类型,则以下一种有效:
SELECT DATEPART(dw,TIMEVAL) FROM Student;
如果TIMEVAL 在Big Int(毫秒)中,则相同的查询不起作用
那么,如何通过对包含 MILLISECOND 的列使用 DATEPART 来获取 WEEKDAY?
【问题讨论】:
-
看到这个:stackoverflow.com/questions/12524537/… 将毫秒转换为日期时间
-
我发现这里是获取工作日的查询 SELECT DATEPART(dw, (DATEADD(ms, DATEDIFF(ms, GETUTCDATE(), GETDATE()),DATEADD(ss, TIMEVAL/1000, '1970-01-01')))) 来自学生
标签: sql sql-server sql-server-2008 sql-server-2005