Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

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?

share|improve this question
    
Copy of stackoverflow.com/questions/20472890/… , but I hope it is alright to ask the question both here and on Stackoverflow. –  Rasmus Faber Dec 9 '13 at 14:23
    
Better to migrate than to repost twice. Hopefully the mods will do it. –  Kin Dec 9 '13 at 14:33

1 Answer 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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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