全文搜索数字字符串时的语言差异

时间:2013-12-09 14:21:26

标签: sql-server sql-server-2008-r2 full-text-search

如果我在SQL Server 10.50.2550(SQL Server 2008 R2)上创建此表:

CREATE TABLE test(
  id BIGINT IDENTITY NOT NULL,
  number VARCHAR(10),
  CONSTRAINT test_pk PRIMARY KEY (id)
);

CREATE FULLTEXT CATALOG test_catalog;

CREATE FULLTEXT INDEX ON test
  (
    number Language 0
  )
  KEY INDEX test_pk
  ON test_catalog;
  ALTER FULLTEXT INDEX ON test START UPDATE POPULATION;

INSERT INTO test (number) VALUES ('1111111111');
INSERT INTO test (number) VALUES ('1111111112');

当填充索引时,执行查询:

SELECT * FROM test WHERE CONTAINS(*, '1111111111');

我明白了:

id                   number
-------------------- ----------
1                    1111111111
2                    1111111112

(2 row(s) affected)

如果我将语言更改为英语(1033),如果我只使用9位数字或使用SQL Server 11.0.3128(SQL Server 2012),我只能获得预期的一行。

我做错了什么或者这是一个错误吗?

1 个答案:

答案 0 :(得分:2)