Sql 如何划分两列?
我试图从联接表中划分两列,但结果(列相对_duration的值)始终为0。查询如下:Sql 如何划分两列?,sql,Sql,我试图从联接表中划分两列,但结果(列相对_duration的值)始终为0。查询如下: SELECT t1.[user_1] ,t1.[user_2] ,t1.[total_duration] ,(t1.total_duration/t2.[total_events_duration]) AS relative_duration FROM [CDRs].[dbo].[aggregate_monthly_events] AS t1 INNER JOIN
SELECT t1.[user_1]
,t1.[user_2]
,t1.[total_duration]
,(t1.total_duration/t2.[total_events_duration]) AS relative_duration
FROM [CDRs].[dbo].[aggregate_monthly_events] AS t1 INNER JOIN [CDRs].[dbo].[user_events_monthly_stats] AS t2 ON t1.[user_1] = t2.[user_1]
有人知道上面的查询中可能出现什么错误,以及如何修复它,以便将表t1中的列total_duration与表t2中的列total_events_duration分开吗
顺便说一句,我尝试用减法(“/”和“-”)代替除法,在这种情况下,列的相对持续时间不是0。假定这些列是整数列-这将是计算结果为相同类型的原因 e、 g.如果您这样做:
SELECT 1 / 2
你会得到0,这显然不是真正的答案。
因此,将值转换为例如decimal,并根据该数据类型进行计算
e、 g
50万美元
SELECT CAST(1 AS DECIMAL) / 2