sql查询日期格式(小时:分钟)

sql查询日期格式(小时:分钟),sql,sql-server-2008-r2,date-formatting,qsqlquery,Sql,Sql Server 2008 R2,Date Formatting,Qsqlquery,如何以小时:分钟格式显示值(例如77,结果:1:17) 信息: select SUM([Travel Time] + [Total Productive Time]) from vAction_Reg where incident_id = '10064068' 结果:77.00 需要得到以下格式的结果 (1:17) 已更改的查询: 您可以除以小时,除以剩余分钟: select cast(fld / 60 as varchar(8)) + ':' +

如何以小时:分钟格式显示值
(例如77,结果:1:17)

信息:

select 
    SUM([Travel Time] + [Total Productive Time])  
from 
    vAction_Reg 
where 
    incident_id = '10064068'
结果:
77.00

需要得到以下格式的结果

(1:17)

已更改的查询:
您可以除以小时,除以剩余分钟:

select 
cast(fld / 60 as varchar(8)) + ':' + cast(fld % 60 as varchar(2))
更新
?货币?
-假设没有小数部分

select 
    cast(total / 60 as varchar(8)) + ':' + cast(total % 60 as varchar(2)) 
from (
    select 
        cast(sum([Travel Time] + [Total Productive Time]) as int) as total
    from 
        vAction_Reg 
    where 
        incident_id = '10064068'
) T

您可以除以小时,除以剩余分钟:

select 
cast(fld / 60 as varchar(8)) + ':' + cast(fld % 60 as varchar(2))
更新
?货币?
-假设没有小数部分

select 
    cast(total / 60 as varchar(8)) + ':' + cast(total % 60 as varchar(2)) 
from (
    select 
        cast(sum([Travel Time] + [Total Productive Time]) as int) as total
    from 
        vAction_Reg 
    where 
        incident_id = '10064068'
) T

您可以除以小时,除以剩余分钟:

select 
cast(fld / 60 as varchar(8)) + ':' + cast(fld % 60 as varchar(2))
更新
?货币?
-假设没有小数部分

select 
    cast(total / 60 as varchar(8)) + ':' + cast(total % 60 as varchar(2)) 
from (
    select 
        cast(sum([Travel Time] + [Total Productive Time]) as int) as total
    from 
        vAction_Reg 
    where 
        incident_id = '10064068'
) T

您可以除以小时,除以剩余分钟:

select 
cast(fld / 60 as varchar(8)) + ':' + cast(fld % 60 as varchar(2))
更新
?货币?
-假设没有小数部分

select 
    cast(total / 60 as varchar(8)) + ':' + cast(total % 60 as varchar(2)) 
from (
    select 
        cast(sum([Travel Time] + [Total Productive Time]) as int) as total
    from 
        vAction_Reg 
    where 
        incident_id = '10064068'
) T

创建一个函数,如下所示:

CREATE FUNCTION [dbo].[NumberToTime]
(  
    @Num int
)
RETURNS nvarchar(20)
AS  
BEGIN
DECLARE @TimeDuration AS nvarchar(20)
SET @TimeDuration = (SELECT CAST((@Num / 60) AS VARCHAR(8)) + ':' + 
                CAST((@Num % 60) AS VARCHAR(2)))
RETURN @TimeDuration
END
要使用该功能,请执行以下操作:

select 
dbo.NumberToTime(SUM([Travel Time] + [Total Productive Time])) from 
vAction_Reg where 
incident_id = '10064068'

它将返回:1:17创建一个函数,如下所示:

CREATE FUNCTION [dbo].[NumberToTime]
(  
    @Num int
)
RETURNS nvarchar(20)
AS  
BEGIN
DECLARE @TimeDuration AS nvarchar(20)
SET @TimeDuration = (SELECT CAST((@Num / 60) AS VARCHAR(8)) + ':' + 
                CAST((@Num % 60) AS VARCHAR(2)))
RETURN @TimeDuration
END
要使用该功能,请执行以下操作:

select 
dbo.NumberToTime(SUM([Travel Time] + [Total Productive Time])) from 
vAction_Reg where 
incident_id = '10064068'

它将返回:1:17创建一个函数,如下所示:

CREATE FUNCTION [dbo].[NumberToTime]
(  
    @Num int
)
RETURNS nvarchar(20)
AS  
BEGIN
DECLARE @TimeDuration AS nvarchar(20)
SET @TimeDuration = (SELECT CAST((@Num / 60) AS VARCHAR(8)) + ':' + 
                CAST((@Num % 60) AS VARCHAR(2)))
RETURN @TimeDuration
END
要使用该功能,请执行以下操作:

select 
dbo.NumberToTime(SUM([Travel Time] + [Total Productive Time])) from 
vAction_Reg where 
incident_id = '10064068'

它将返回:1:17创建一个函数,如下所示:

CREATE FUNCTION [dbo].[NumberToTime]
(  
    @Num int
)
RETURNS nvarchar(20)
AS  
BEGIN
DECLARE @TimeDuration AS nvarchar(20)
SET @TimeDuration = (SELECT CAST((@Num / 60) AS VARCHAR(8)) + ':' + 
                CAST((@Num % 60) AS VARCHAR(2)))
RETURN @TimeDuration
END
要使用该功能,请执行以下操作:

select 
dbo.NumberToTime(SUM([Travel Time] + [Total Productive Time])) from 
vAction_Reg where 
incident_id = '10064068'


它将返回:1:17

两个字段的数据类型都是“money”@Alex k。下面是错误消息:没有足够的结果空间将货币值转换为varchar。究竟为什么时间值
money
?-转换为int asabove@AlexK. 请看我的查询,我在添加uData建议的查询时得到了两个字段的类型都是“money”@Alex k。下面是错误消息:没有足够的结果空间将货币值转换为varchar。究竟为什么时间值
money
?-转换为int asabove@AlexK. 请看我的查询,我在添加uData建议的查询时得到了两个字段的类型都是“money”@Alex k。下面是错误消息:没有足够的结果空间将货币值转换为varchar。究竟为什么时间值
money
?-转换为int asabove@AlexK. 请看我的查询,我在添加uData建议的查询时得到了两个字段的类型都是“money”@Alex k。下面是错误消息:没有足够的结果空间将货币值转换为varchar。究竟为什么时间值
money
?-转换为int asabove@AlexK. 请看我的查询,我在添加uFunction建议的查询时得到的结果可以在SSRS中使用吗?是否有不带函数的函数。如果不想使用函数,请按如下方式在SQL Server中创建函数:选择CAST((SUM([Travel Time]+[Total Productive Time])/60)作为VARCHAR(8))+':'+CAST((SUM([Travel Time]+[Total Productive Time])%60作为VARCHAR(2))从vAction_Reg,事件id='10064068'功能可用于SSRS?是否有不带函数的函数。如果不想使用函数,请按如下方式在SQL Server中创建函数:选择CAST((SUM([Travel Time]+[Total Productive Time])/60)作为VARCHAR(8))+':'+CAST((SUM([Travel Time]+[Total Productive Time])%60作为VARCHAR(2))从vAction_Reg,事件id='10064068'功能可用于SSRS?是否有不带函数的函数。如果不想使用函数,请按如下方式在SQL Server中创建函数:选择CAST((SUM([Travel Time]+[Total Productive Time])/60)作为VARCHAR(8))+':'+CAST((SUM([Travel Time]+[Total Productive Time])%60作为VARCHAR(2))从vAction_Reg,事件id='10064068'功能可用于SSRS?是否有不带函数的函数。如果不想使用函数,请在SQL Server中创建该函数,方法如下:从vAction_Reg中选择CAST((SUM([Travel Time]+[Total Productive Time])/60)作为VARCHAR(8))+':'+从vAction_Reg中选择CAST((SUM([Travel Time]+[Total Productive Time])%60)作为VARCHAR(2)),其中事件id='10064068'