小编dav*_*ser的帖子

将数据类型varchar转换为存储过程中的bigint时出错

我正在尝试使用该usp_TimesheetsAuditsLoadAllbyId 42747, NULL命令调用此过程.

但我总是得到一个错误

消息8114,级别16,状态5,过程usp_TimesheetsAuditsLoadAllById,第9行将
数据类型varchar转换为bigint时出错.

所述IDTimesheetsAudits表是一个bigint类型.我尝试了几种类型的转换和演员表,但我现在真的被卡住了.

希望有人可以提供帮助.谢谢

ALTER PROCEDURE [dbo].[usp_TimesheetsAuditsLoadAllById]
(
    @Id INT,
    @StartDate DATETIME
)
AS
BEGIN
   SET NOCOUNT ON

   SELECT TOP 51 * 
   FROM 
      (SELECT TOP 51 
          ID,
          Type, 
          ReferrerId,
          CAST(Description AS VARCHAR(MAX)) AS Description,
          OnBehalfOf,
          Creator,
          DateCreated 
       FROM 
          TimesheetsAudits 
       WHERE 
          (ReferrerID = @Id) AND
          (@StartDate IS NULL OR DateCreated < @StartDate)
       ORDER BY
          DateCreated DESC

       UNION

       SELECT TOP 51 
          tia.ID,
          tia.Type, 
          tia.ReferrerId,
          '[Day: ' + CAST(DayNr AS VARCHAR(5)) …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server bigint

3
推荐指数
1
解决办法
4万
查看次数

标签 统计

bigint ×1

sql ×1

sql-server ×1

t-sql ×1