5

Tôi có một Cơ sở dữ liệu SQL Server 2008 với một chỉ mục toàn văn được đặt thành một cột trong bảng được sử dụng để tìm kiếm.Toàn văn SQL Server không tính các số 0 đứng đầu trong tài khoản

Khi cố thực hiện truy vấn đối với bảng sử dụng mệnh đề CONTAINS với các tiêu chí sau: "003", nó bỏ qua số 0 đứng đầu và trả về tất cả các hàng khớp với "3".

Chúng tôi đang cố gắng tính đến các số 0 đứng đầu cho tìm kiếm, bất kỳ ý tưởng nào?

(Danh sách dừng cho toàn văn trống).

UPDATE: Các truy vấn

SELECT * FROM Table 
WHERE CONTAINS(SearchIndex, '"003*"') 
+0

Hiển thị cho chúng tôi truy vấn của bạn. –

+0

Đầu ra của truy vấn là gì? Bạn nói rằng nó trả về tất cả các hàng khớp với "3", nhưng nó cũng trả về những hàng có số 0 đứng đầu? Đã làm bình thường SELECT * TỪ Bảng WHear SearhIndex LIKE '003%' làm việc? – TheBoyan

+0

Thực sự trả về những số có số 0 đứng đầu và số không có chúng. – luisporras

Trả lời

0

Tôi đã có một vấn đề tương tự như thế này một thời gian trước đây.

Có lẽ một cách tiếp cận có thể là chọn một số kết quả với tìm kiếm toàn văn bản và sau đó chọn một kết quả cụ thể từ các kết quả đó. Nhưng có lẽ có một giải pháp tốt hơn cho việc này.

Tôi đã thử cách tiếp cận này và nó thực sự hoạt động. Nó cũng hoạt động nhanh hơn rất nhiều sau đó chỉ cần SELECT giá trị.

0

Tôi đã gặp phải vấn đề tương tự này và phát hiện sự cố là cách trình phân tích cú pháp toàn văn xử lý hàng đầu 0. This post đã giúp tôi hiểu rõ hơn. Bạn có thể tự mình xem vấn đề nếu bạn sử dụng sys.dm_fts_parser để kiểm tra cách trình phân tích cú pháp toàn văn sẽ phân tích cú pháp một số có số 0 đứng đầu.

Tôi thực sự mong rằng Microsoft sẽ cho phép tính năng 'này' bị tắt. Tuy nhiên, công việc được đề cập trong các câu trả lời khác hoạt động tốt, không dễ dàng cho phép kết hợp dựa trên nhiều cột như các chức năng tìm kiếm toàn văn khác nhau.