将TEXT隐式转换为varchar / nvarchar

时间:2015-05-27 17:49:50

标签: sql-server text varchar nvarchar

我有一个相当大的历史表,现在正在减慢我的用户速度。我做的一件大事就是缓解这个问题,将文本字段转换为nvarchar(max)或varchar(max)字段。由于可能出现Unicode /转换问题,我将使用nvarchar。

我的问题是,如果声明显式的TEXT值,前端是否会在插入表时被隐式转换?

我想知道这些字段是使用我用于初始转换的ALTER TABLE语句隐式转换的。

这个表在相当多的地方使用,并且在任何地方放置一个CONVERT,其引用至少可以说是有问题的。

我尝试在本地测试,但在本地运行时不允许使用本地TEXT变量。

1 个答案:

答案 0 :(得分:0)

你能使用演员吗?

CAST( @VARIABLEFROMFRONTEND as NVARCHAR(MAX) )

您可以在它周围抛出一个if语句,以便在允许它尝试转换之前检查错误。如果有错误确实不会发生,但值得在那里。