什么是SQL Server中数据类型(max)的替代?

问题描述:

我正在将数据从SQL Server数据库传输到另一个数据库(PDW)。在源表中有一个包含数据类型(max)的列。在目的地它不支持数据类型(最大)。什么是SQL Server中数据类型(max)的替代?

那么SQL Server为数据包(最大)考虑的最大值是多少?

+1

你在说什么**确切**数据类型? 'VARCHAR(MAX)'或'NVARCHAR(MAX)'或'VARBINARY(MAX)'?为什么不应该在你的目标系统中支持这些类型 - 是不是SQL Server呢? –

+0

我正在寻找nvarchar(最大)。 –

+0

参见[这里](http://stackoverflow.com/questions/11131958/what-is-the-maximum-characters-for-the-nvarcharmax) – Polux2

如果您运行代码的第一行,但将特定列名称和表名称放入(而不是[columname]和[tablename])中。

然后使用表名和列名再次替换[columname]和[tablename],但使用nvarchar后括号之间的第一段代码生成的数字运行第二行代码。

这会将列从max更改为已定义的nvarchar长度,也可能是其他数据库应该识别此列。

select max(len([columnname])) from [tablename] 

alter table [tablename] alter column [columname] nvarchar()