【发布时间】:2015-08-25 14:05:48
【问题描述】:
我创建了一个数据类型为 nvarchar(max) 的列,当我填充数据时,它只包含 150 个字符并如下所述截断剩余数据。
SampleColumn(nvarchar(max),null)
下面是我要插入的数据。
Alpha;动物健康;NIBR;诺拉汀 Vaconine 和诊断最佳;OTC 非处方药;中国制药;制药开发;日本制药;拉康制药;Sandoz;欧洲制药;印度制药;亚太制药
但采用以下字符,即 150 个字符。
阿尔法;动物健康;NIBR;诺拉汀 Vaconine 和诊断最佳;OTC 非处方药;制药中国;制药开发;Pharma japan;Pharma LaCan;Sandoz;pha
这里只取 150 个字符可能是什么原因,如果它是正确的,我怎样才能允许超过 150 个字符进入我的列?
【问题讨论】:
-
在长度为 2gb 之前,您的列不会截断 nvarchar(max) 中的数据。您如何查看或插入这些数据?此外,您应该考虑规范化您的数据,而不是使用这样的分隔字符串。您在一个交点中放置了多个值,这违反了 1NF。
-
你到底是如何插入数据的?
-
试试这个选择:
SELECT LEN(SampleColumn) FROM SampleTable。它返回什么? -
Lamak - 将数据作为字符串插入,例如从列中读取数据并与新数据连接并再次更新到列。
-
Sean - 将数据作为字符串插入,例如从列中读取数据并与新数据连接并再次更新到列。
标签: sql-server sql-server-2008