在我的SQL查询在Access 2000,我有一个包含相同的数字字段:访问2000:小数小时,分钟
- 0.15
- 1,30
- 0 ,50
其中x,是小时,而xx是分钟。
我需要将此字段转换为DateTime
(或Access等效字段),因为我稍后需要汇总报表中的时间值。
如何将该字段转换为DateTime
?
在我的SQL查询在Access 2000,我有一个包含相同的数字字段:访问2000:小数小时,分钟
其中x,是小时,而xx是分钟。
我需要将此字段转换为DateTime
(或Access等效字段),因为我稍后需要汇总报表中的时间值。
如何将该字段转换为DateTime
?
假设数值数据的列被命名为“Num_Time”您可以使用此查询与时间信息,以获得一个日期列:
select CDate(CStr(Fix(Num_Time)) + ':' +
CStr(CLng((sgn(Num_Time) * Num_Time - Fix(Num_Time)) * 100)) + ':00') as RealTime
from myTable
查询格式的“HH字符串的列转换: mm:ss“,它可以传递给CDate函数以获得具有给定时间的Date对象。 (查询不照顾空或无效值的列)。
为了构建一个DATETIME
值,你需要一个日期(!!)
我不知道您的具体使用情况,但将某个时间粒子的价值可以考虑使用的值汇总分钟:
• 0,15 -> 15
• 1,30 -> 90
• 1 -> 60
• 0,50 -> 50
如果你时间的推移,过了一天,不知道有日期时间要什么给你做。您需要获取总分钟数并将其转换为小时数:分钟。
Select
CInt(Left([Num_Time],InStr([Num_Time],",")))*60 + CInt(Right([Num_Time],Len([Num_Time])-InStr([Num_Time],","))) as [Total_Minutes]
From [Your_Table]
这会将您的时间变成分钟加上其他分钟。现在,您只需将所有分钟的总和恢复为小时。
这将返回: 实时 下午3时00分00秒 #错误 为10:00:00 am #错误 – JeffO 2009-07-01 19:15:19