在十进制/数字coloumn上创建全文索引,可能????? (SQL Server 2008)

我想在几个列上创建一个全文索引,这些列是
varchars
和数字。并且数字存在问题。 是否真的没有办法将列添加为全文索引的数字或小数? 我有一个表格文章:
CREATE TABLE article
(   articleid   number(10)  not null,
    articlename     varchar(50)     not null,
    articlecode1    varchar(50)
);

CREATE FULLTEXT CATALOG MyCatalog;

CREATE FULLTEXT INDEX ON artikel
     (articleid LANGUAGE 0x0,
      articlename LANGUAGE 0x0,
      articlecode1 LANGUAGE 0x0)
KEY INDEX PK_ARTICLE ON MyCatalog
WITH CHANGE_TRACKING AUTO;
它无法创建,因为
articleid
是一个数字! 我的替代解决方案是创建第二列,例如
articleidtext varchar
作为articleid的副本。然后填写一个触发器。 真的没有别的办法吗? 我也尝试过铸造像:
CAST(articleid AS varchar) LANGUAGE 0x0
它也不起作用。 还有其他建议吗? 谢谢...     
已邀请:
你可以根据你的
articleId
创建一个类型为
VARCHAR
的计算持久列 - 这不需要用触发器或任何东西填充,它总是代表
articleId
,但是作为
VARCHAR
列,因此可以全文索引:
ALTER TABLE dbo.article
ADD ArticleIDText AS CAST(ArticleID AS VARCHAR(20)) PERSISTED
现在把你的全文索引放在
ArticleIDText
上,一切都应该没问题......     
您无法在作为数字的列上创建全文索引。 如果您希望能够使用全文搜索它,您可以将列转换为字符串。 但真正的问题是你在寻找全文索引还是正常索引!?     
全文仅适用于类型: char,varchar,nchar,nvarchar,text,ntext,image,xmlилиvarbinary(max)     

要回复问题请先登录注册