由存储过程中的IN运算符导致将数据类型nvarchar转换为bigint时出错

u

存储过程:

ALTER PROCEDURE [dbo].[MyProcedure]
    @CommaSeperatedValues nvarchar(500)
AS
BEGIN
    SET NOCOUNT ON;
    SELECT  Col1, Col2, Col3
    FROM MyTable
    WHERE SomeCol_BigIntDataType IN (@CommaSeperatedValues) 

来自Code的值是字符串值:“ 9010073,9010074”

我试过像这样运行SP:exec MyProcedure'9010073,9010074'

运行SP时出现错误“将数据类型nvarchar转换为bigint时出错”

如果我单独运行选择查询,如下所示:

SELECT  Col1, Col2, Col3
    FROM MyTable
    WHERE SomeCol_BigIntDataType IN (9010073,9010074)

然后,我得到了预期的结果。

但是我想从SP运行。

栗色维斯珀

在数据库中创建以下表格函数作为SplitString。当您想要选择项目时;用这个:

Select Part from SplitString(@YourValues, ',')

在查询中使用上述select语句。

SELECT  Col1, Col2, Col3
    FROM MyTable
    WHERE SomeCol_BigIntDataType IN (Select Part from SplitString(@CommaSeperatedValues, ',')) 

下面的函数在您的数据库中执行一次。

CREATE FUNCTION [dbo].[SplitString]
(
     -- Add the parameters for the function here
     @myString varchar(500),
     @deliminator varchar(10)
)
RETURNS
@ReturnTable TABLE
(
     -- Add the column definitions for the TABLE variable here
     [id] [int] IDENTITY(1,1) NOT NULL,
     [part] [varchar](50) NULL
)
AS
BEGIN
         Declare @iSpaces int
         Declare @part varchar(50)

         --initialize spaces
         Select @iSpaces = charindex(@deliminator,@myString,0)
         While @iSpaces > 0

         Begin
             Select @part = 
substring(@myString,0,charindex(@deliminator,@myString,0))

             Insert Into @ReturnTable(part)
             Select @part

     Select @myString = 
substring(@mystring,charindex(@deliminator,@myString,0)+ 
len(@deliminator),len(@myString) - charindex(' ',@myString,0))


             Select @iSpaces = charindex(@deliminator,@myString,0)
         end

         If len(@myString) > 0
             Insert Into @ReturnTable
             Select @myString

     RETURN
END

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用动态T-SQL将数据类型nvarchar转换为float时出错

来自分类Dev

将数据类型varchar转换为int时出错(存储过程C#ASP.NET)

来自分类Dev

调用存储过程错误:将数据类型nvarchar转换为datetime时出错

来自分类Dev

将数据类型nvarchar转换为int t时出错

来自分类Dev

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

来自分类Dev

无法将数据类型nvarchar转换为float时出错

来自分类Dev

在存储过程中将nvarchar数据类型转换为datetime数据类型

来自分类Dev

将nvarchar转换为int数据类型时出错

来自分类Dev

将数据类型varchar转换为bigint时出错-IN子句

来自分类Dev

在C#中将数据类型nvarchar转换为bigint时出错

来自分类Dev

存储过程-将数据类型varchar转换为float时出错

来自分类Dev

将数据类型nvarchar转换为int时出错-执行存储过程时

来自分类Dev

SQL Server存储过程-将数据类型varchar转换为datetime时出错

来自分类Dev

我的错误在哪行?将数据类型nvarchar转换为数值时出错

来自分类Dev

在存储过程中将数据类型varchar转换为int错误时出错

来自分类Dev

将数据类型nvarchar转换为数字时出错-SQL Server

来自分类Dev

对于OPENXML sql,将空XML节点的数据类型nvarchar转换为数值时出错

来自分类Dev

SQL Server从查询“将数据类型varchar转换为bigint时出错”

来自分类Dev

我收到一个错误“将数据类型nvarchar转换为实数时出错”。

来自分类Dev

在视图中将数据类型nvarchar转换为bigint时出错

来自分类Dev

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

来自分类Dev

PHP PDO unixODBC FreeTDS SQL Server在存储过程中“将数据类型varchar(max)转换为datetime”

来自分类Dev

将数据类型varchar转换为bigint时出错-IN子句

来自分类Dev

存储过程-将数据类型varchar转换为数值时出错

来自分类Dev

SQL查询将nvarchar转换为数据类型int在存储过程中出错

来自分类Dev

将数据类型NVarchar转换为int时出错

来自分类Dev

特定列 -- 将数据类型 nvarchar 转换为 bigint 时出错

来自分类Dev

将数据类型 nvarchar 转换为 bigint 时出错 - 加入两种不同的数据类型时

来自分类Dev

错误 System.Data.SqlClient.SqlException: '将数据类型 nvarchar 转换为数字时出错。' 在 C# 中

Related 相关文章

  1. 1

    使用动态T-SQL将数据类型nvarchar转换为float时出错

  2. 2

    将数据类型varchar转换为int时出错(存储过程C#ASP.NET)

  3. 3

    调用存储过程错误:将数据类型nvarchar转换为datetime时出错

  4. 4

    将数据类型nvarchar转换为int t时出错

  5. 5

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

  6. 6

    无法将数据类型nvarchar转换为float时出错

  7. 7

    在存储过程中将nvarchar数据类型转换为datetime数据类型

  8. 8

    将nvarchar转换为int数据类型时出错

  9. 9

    将数据类型varchar转换为bigint时出错-IN子句

  10. 10

    在C#中将数据类型nvarchar转换为bigint时出错

  11. 11

    存储过程-将数据类型varchar转换为float时出错

  12. 12

    将数据类型nvarchar转换为int时出错-执行存储过程时

  13. 13

    SQL Server存储过程-将数据类型varchar转换为datetime时出错

  14. 14

    我的错误在哪行?将数据类型nvarchar转换为数值时出错

  15. 15

    在存储过程中将数据类型varchar转换为int错误时出错

  16. 16

    将数据类型nvarchar转换为数字时出错-SQL Server

  17. 17

    对于OPENXML sql,将空XML节点的数据类型nvarchar转换为数值时出错

  18. 18

    SQL Server从查询“将数据类型varchar转换为bigint时出错”

  19. 19

    我收到一个错误“将数据类型nvarchar转换为实数时出错”。

  20. 20

    在视图中将数据类型nvarchar转换为bigint时出错

  21. 21

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

  22. 22

    PHP PDO unixODBC FreeTDS SQL Server在存储过程中“将数据类型varchar(max)转换为datetime”

  23. 23

    将数据类型varchar转换为bigint时出错-IN子句

  24. 24

    存储过程-将数据类型varchar转换为数值时出错

  25. 25

    SQL查询将nvarchar转换为数据类型int在存储过程中出错

  26. 26

    将数据类型NVarchar转换为int时出错

  27. 27

    特定列 -- 将数据类型 nvarchar 转换为 bigint 时出错

  28. 28

    将数据类型 nvarchar 转换为 bigint 时出错 - 加入两种不同的数据类型时

  29. 29

    错误 System.Data.SqlClient.SqlException: '将数据类型 nvarchar 转换为数字时出错。' 在 C# 中

热门标签

归档