[英]SQL Server 2014 Hashbytes of a nvarchar(max) result is nvarchar(max)
[英]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)。 您可以在联机丛书中阅读有关它的更多信息。
检查以下链接可能会有所帮助。
默认大小为4000,最大大小为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.