【问题标题】:Disallowed implicit conversion from data type datetime to data type float, table 'TABLE', column 'FECHA'. Use the CONVERT function to run this query不允许从数据类型 datetime 到数据类型 float、表 'TABLE'、列 'FECHA' 的隐式转换。使用 CONVERT 函数运行此查询
【发布时间】:2023-03-20 17:24:01
【问题描述】:

我有这个错误,我无法修复它

消息 260,级别 16,状态 3,过程 SP_SAV_ESTADISTICALLAMADAXOPERADOR,第 7 行 不允许从数据类型 datetime 到数据类型 float、表“APEX.SAV_LLAMADAS”、列“FECHA”的隐式转换。使用 CONVERT 函数运行此查询。

这是我的代码

CREATE PROCEDURE APEX.SP_SAV_ESTADISTICALLAMADAXOPERADOR
    @pCodOperador   VARCHAR (20) 
AS 
    BEGIN
        SET NOCOUNT ON

        SELECT  TP.DESCRIPCION AS TIPOLOGIA,
                ST.DESCRIPCION AS SUB_TIPOLOGIA,
                COUNT(*) AS TOTAL
        FROM    APEX.SAV_LLAMADAS_DET DT INNER JOIN APEX.SAV_LLAMADAS LL 
        ON      LL.ID_LLAMADA  = DT.ID_LLAMADA  INNER JOIN APEX.SAV_SUB_TIPOLOGIAS ST 
        ON      DT.COD_TIPOLOGIA  = DT.COD_TIPOLOGIA
         AND    DT.COD_SUBTIPOLOGIA  = ST.COD_SUB_TIPOLOGIA  INNER JOIN APEX.SAV_TIPOLOGIAS TP 
        ON      TP.COD_TIPOLOGIA  = ST.COD_TIPOLOGIA  
        WHERE   DT.USUARIO_CREA  = @pCodOperador
         AND    FLOOR(LL.FECHA)  = FLOOR((GETDATE()))
        GROUP BY TP.DESCRIPCION, ST.DESCRIPCION 

        SET NOCOUNT OFF

    END

【问题讨论】:

    标签: sql-server datetime stored-procedures


    【解决方案1】:

    您不能对日期时间数据类型执行 FLOOR。假设您尝试排除日期时间的时间部分,您可以改为执行此类操作。

    AND CAST(LL.FECHA AS DATE)  = CAST(GETDATE() AS DATE)
    

    【讨论】:

    • 对的,非常感谢,工作完美
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多