繁体   English   中英

SQL Server Nvarchar(最大)

[英]SQL Server Nvarchar(max)

我有一条插入语句,即其中一列的列类型为nvarchar(max)desc。 我注意到当我查看数据库中的某些记录时,desc列有时为空。 通过GUI进行验证,我知道这是不可能的。 经过进一步的测试后,我发现如果该列的文本很大,它将不会插入该数据。 我发现这种奇怪的b / c,我认为这会给我带来某种错误,或者无法完全插入记录,但是只是将该列留为空白。 nvarchar(max)是否有限制,如果有,我可以使用其他数据类型代替。 我进行了一次测试,尝试插入的字符超过20,000,但最终用户输入的字符有所不同。

' * ** * ** * ** * ** * * 编辑 * ** * ** * ** * ** * ** * ** * ** * ** * ***

谢谢大家的快速答复,通过研究,我发现你们是正确的,它将保存(保存)大量信息。 我发现,使用Microsoft Management Studio时,如果结果返回时查询的列大小必须包含多个字符,则该列将显示为空白。 为了验证这一点,我使用了len(COLUMN_NAME)函数,并发现字符长度符合我的预期。 有谁知道我可以更改Microsoft Management Studio中的设置以实际查看结果的方法吗?

NVARCHAR(MAX)有一个限制-它是2 ^ 31-1字节(2GB)。 您可以在联机丛书中阅读有关它的更多信息。

请参考此链接

引用:

严重的是-VARCHAR(MAX)最多可以存储2 GB的数据-不只是8000个字符.....

关键是:如果您使用的是varchar(max),则需要确保始终将所有> strings显式地转换为varchar(max)-就像本例中所做的那样。 否则,SQL Server将退回到“常规” varchar处理,并且实际上限制为8000个字符。

varchar(max)应该不会有20,000个字符的问题,所以我认为这可能与其他问题有关。

我不确定您的GUI使用什么技术,但是此线程似乎在谈论类似的问题,其中您使用的提供程序不支持varchar(max) ,可能需要更新。

nvarchar(max)字段和Classic ASP的奇怪问题

SQL Server可能不是问题,但是您用来与SQL Server通信的技术。

您是否可以指定用于与SQL Server通信的技术(ASP,ASP.NET版本)以及您使用的SQL Server版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM