2

我正在尝试将列从 ntext 转换为 nvarchar(MAX),但似乎启用了全文搜索。

Alter table <table> alter column <column> nvarchar

然后我要强制文本成行

update <table> set <column> = <column> +'' where <column> is not null    

最后,我需要再次启用全文搜索。

我如何在 SQL 中执行此操作?

4

3 回答 3

6
DROP FULLTEXT INDEX ON mytable.mycolumn;
go
Alter table ... nvarchar(value);
go
ADD FULLTEXT INDEX ON mytable add (mycolumn)

( http://msdn.microsoft.com/en-us/library/ms188359.aspx )

于 2009-05-07T16:53:35.243 回答
5

这是针对 SQL Server 2005 的。

删除全文索引的语法:

ALTER FULLTEXT INDEX ON [TABLENAME] DROP (COLUMNNAME)

-- 更改列或更多声明 --

读取全文索引的语法:

ALTER FULLTEXT INDEX ON [TABLENAME] add (COLUMNNAME)

于 2017-03-04T08:23:51.977 回答
1
ALTER FULLTEXT INDEX ON TableName drop (ColumnName)
ALTER TABLE TableName ALTER COLUMN ColumnName nvarchar(MAX)
ALTER FULLTEXT INDEX ON TableName add (ColumnName)

这将从索引中删除该列,然后更改它,然后将其重新添加到索引中。

于 2021-03-17T14:07:56.230 回答