公式电话计算

时间:2012-05-08 11:27:06

标签: sql plsql

我正在使用以下语句来确定正确的前缀:

select *  
from [lcsCDR].[dbo].[Phones] c  
inner join [CallAnalysisDatabase].[dbo].[CallRates$] r  
    on r.Prefix COLLATE Latin1_General_CI_AI = SUBSTRING(c.PhoneUri,1,LEN(r.Prefix))  
left join [CallAnalysisDatabase].[dbo].[CallRates$] r_anti  
    on r_anti.Prefix COLLATE Latin1_General_CI_AI = SUBSTRING(c.PhoneUri,1,LEN(r_anti.Prefix))  
    and LEN(r_anti.Prefix) > LEN(r.Prefix)  
where r_anti.Prefix is null  

您能否举一个例子来添加本声明中的公式?

'Rate'表包含2个计算字段:

  • start_rate
  • rate_per_minute

表'VoipDetails'和SessionDetails包含以下内容:

DATEDIFF(s, VoipDetails.SessionIdTime, SessionDetails.SessionEndTime)

如果找到了正确的前缀,请使用以下公式:

DATEDIFF(s, VoipDetails.SessionIdTime, SessionDetails.SessionEndTime))/60)*r.rate_per_minute)+start_rate)

你能给我一个pl / sql ms sql server管理工作室的例子吗?

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的问题,那么您需要T-SQL中的标量函数。

检查出来:

Create Function T-SQL Reference