如何将日期和时间列转换为时间作为小数

时间:2014-10-22 17:51:05

标签: sql-server date datetime time decimal

有人知道如何根据时间将日期和时间列转换为十进制列吗?

例如:

Select  StaffNum, Name, ContractHours    
From StaffContract    
Where StaffNum = 00123

返回

**StaffNum**--------**Name**----------------**ContractHours** 

00123-----------Shaw, Jason--------2012-10-01 07:30:000

而不是显示ContractHours的{​​{1}}列,我需要它只显示时间部分并将其转换为小数,而不是07:30 我需要它显示7.5

1 个答案:

答案 0 :(得分:1)

您可以使用datepart提取日期的部分内容:

SELECT  StaffNum, 
        Name,
        DATEPART(hour, ContractHours) + (DATEPART(minute, ContractHours) / 60.0)
FROM    StaffContract    
WHERE   StaffNum = 00123