Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将整数转换为十进制_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 将整数转换为十进制

Sql 将整数转换为十进制,sql,sql-server,tsql,Sql,Sql Server,Tsql,我创建了一个视图,该视图连接到来自两个不同数据库的两个表 我正试图: 将以下两列从int转换为decimal,精度为4 [Talk_Count] + [Alloc_Count] AS [Talk] [CT_Count] - [NP_Count] / [CT_Count] AS [Quality] 对数据进行排序 WHERE [Call_Date] <= 13 其中不用于排序。。。。。。并且不能在视图定义内排序-当从该视图中选择时,可以进行排序(通过使用显式的排序依据)

我创建了一个视图,该视图连接到来自两个不同数据库的两个表

我正试图:

  • 将以下两列从
    int
    转换为
    decimal
    ,精度为4

     [Talk_Count] + [Alloc_Count] AS [Talk] 
     [CT_Count] - [NP_Count] / [CT_Count] AS [Quality] 
    
  • 对数据进行排序

      WHERE [Call_Date]  <= 13 
    

    其中
    不用于排序。。。。。。并且不能在视图定义内排序-当从该视图中选择
    时,可以进行排序(通过使用显式的
    排序依据

    您可以尝试以下方法:

    CREATE VIEW dbo.YourViewNameHere
    AS 
         SELECT
             Call_DT, 
             CAST(Talk_Sec_Count + Alloc_Sec_Count AS DECIMAL(16, 4)) AS Talk,
             CAST(CT_Count * 1.0 - NP_Count  / CT_Count * 1.0 AS DECIMAL(16, 4)) AS Quality,
             Pymt_Rtn_Rt AS Utilization,
             Agent_UID
         FROM 
             [TableName] 
         WHERE
             [Call_Date]  <= 13     -- not clear if that's really your condition.... adapt as needed
    

    “sort”指的是
    WHERE
    (这是一个过滤器而不是排序)当你在谷歌上搜索“sqlconvertintodecimal”时,你的研究向你展示了什么?这不是一个新问题。关于sql排序数据,您的研究向您展示了什么?非常感谢marc_s,您确实是一位真正的MVP。@SQLGrab:如果这个答案帮助您解决了问题,那么请。这将表达你对那些花自己的时间帮助你的人的感激之情。
    CREATE VIEW dbo.YourViewNameHere
    AS 
         SELECT
             Call_DT, 
             CAST(Talk_Sec_Count + Alloc_Sec_Count AS DECIMAL(16, 4)) AS Talk,
             CAST(CT_Count * 1.0 - NP_Count  / CT_Count * 1.0 AS DECIMAL(16, 4)) AS Quality,
             Pymt_Rtn_Rt AS Utilization,
             Agent_UID
         FROM 
             [TableName] 
         WHERE
             [Call_Date]  <= 13     -- not clear if that's really your condition.... adapt as needed
    
    SELECT             
        Call_DT, Talk, Quality, Utilization, Agent_UID
    FROM
        dbo.YourViewNameHere
    ORDER BY
        Call_DT  -- or order by whatever column you need