加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 存储过程的字符串参数的最大长度是多少?

发布时间:2020-12-12 06:39:22 所属栏目:MsSql教程 来源:网络整理
导读:我有一个长度为1,44,000的字符串,必须作为参数传递给存储过程,该存储过程是表上的选择查询. 当这是一个查询(在c#中)它的工作正常.但是,当我将它作为参数传递给存储过程时,它无法正常工作. 这是我的存储过程,其中我已将此参数声明为NVARCHAR(MAX) ------------
我有一个长度为1,44,000的字符串,必须作为参数传递给存储过程,该存储过程是表上的选择查询.
当这是一个查询(在c#中)它的工作正常.但是,当我将它作为参数传递给存储过程时,它无法正常工作.

这是我的存储过程,其中我已将此参数声明为NVARCHAR(MAX)

------------------------------------------------------
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

CREATE PROCEDURE [dbo].[ReadItemData](@ItemNames NVARCHAR(MAX),@TimeStamp as DATETIME)

AS

select * from ItemData

where ItemName in (@ItemNames) AND TimeStamp=@TimeStamp

---------------------------------------------------------------------

这里的参数@ItemNames是一个用不同名称连接的字符串,例如
“项目1”,“项目2”,“项目3” ….等.

谁能告诉我这里出了什么问题?

谢谢&问候

帕德玛

解决方法

从数据库语法的外观来看,它看起来像Sql Server,these are the maximum sizes of things in Sql Server.
Bytes per short string column 8,000

可能是限制器.

虽然:

Bytes per varchar(max),
varbinary(max),xml,text,or image
column 2^31-1

(即2,147,483,647)表明Sql Server会处理它,但是对于ado.net.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读