TEXT 到 varchar/nvarchar 的隐式转换

问题描述 投票:0回答:1

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

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

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

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

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

sql-server text varchar nvarchar
1个回答
0
投票

可以只用演员吗?

CAST( @VARIABLEFROMFRONTEND as NVARCHAR(MAX) )

您可以在它周围添加一个 if 语句来检查是否有错误,然后再允许它尝试转换。万一出现错误,不确定会发生但值得在那里。

© www.soinside.com 2019 - 2024. All rights reserved.