1

If I create this table on 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');

And when the index is populated perform the query:

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

I get this:

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

(2 row(s) affected)

If I change the language to English (1033), if I only use 9-digit numbers or if I use SQL Server 11.0.3128 (SQL Server 2012) I only get the expected one row.

Do I do anything wrong or is this a bug?

1

Seems that this is the bug: SQL Server 2008 full-text query may return false positives using number with more than 9 digits as search predicate condition.

Unfortunately the resolution does not work for Danish language.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.