Ms access Access 2000:十进制到小时和分钟
在Access 2000中的SQL查询中,我有一个包含如下数字的字段:Ms access Access 2000:十进制到小时和分钟,ms-access,ms-access-2000,Ms Access,Ms Access 2000,在Access 2000中的SQL查询中,我有一个包含如下数字的字段: 0,15 1,30 一, 0,50 其中x是小时,xx是分钟 我需要将此字段转换为DateTime(或等效的访问权限)字段,因为我以后需要对报表中的时间值求和 如何将该字段转换为DateTime?假设包含数字数据的列名为“Num\u Time”,则可以使用此查询获取包含该时间信息的日期列: select CDate(CStr(Fix(Num_Time)) + ':' + CStr(CLng((sgn(Num_Ti
- 0,15
- 1,30
- 一,
- 0,50
DateTime
(或等效的访问权限)字段,因为我以后需要对报表中的时间值求和
如何将该字段转换为
DateTime
?假设包含数字数据的列名为“Num\u 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函数以获取给定时间的日期对象。(查询不考虑列中的空值或无效值。)为了构造
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]
这会把你的时间变成几分钟加上其他几分钟。现在,您只需将所有分钟的总和返回到小时。返回:RealTime 3:00:00 PM#Error 10:00:00 AM#Error