La mia interrogazione CONTAINSTABLE non funziona - si prega di aiuto :)
-
13-09-2019 - |
Domanda
Ho un setup catalogo testo completo. Ha un numero di chiave unica di 117 con 19 elementi. La tabella ha solo 19 righe.
La tabella ha un campo NVARCHAR (50) chiamato ClientGuid. E 'un GUID con un testo strano alla fine.
ad es ..
- 8b6ef4a504dd1a57f079180e7f6eb4a0 (-)
- 8b6ef4a504dd1a57f079180e7f6eb4a0 (OK)
(e no, non ho definito che i dati campo di testo - siamo di sourcing da un 3 ° API partito
.anways, questo è il mio sql e la query corro contro di essa. Quando eseguo la query, ottengo ZERO risultati indietro: (
ALTER FUNCTION [dbo].[Foo_HiJonSkeet]
(
@ClientGuid NVARCHAR(50)
)
RETURNS TABLE
AS
RETURN
(
SELECT KEY_TBL.[Key] as LogEntryId,
KEY_TBL.RANK as Relevance
FROM CONTAINSTABLE(LogEntries, ClientGuid, @ClientGuid) AS KEY_TBL
)
SELECT * FROM Foo_HiJonSkeet('8b')
Qualche suggerimento? Server è SQL Server 2008.
Soluzione
È possibile provare la seguente costruzione:
SELECT * FROM Foo_HiJonSkeet('"8b*"')
aggiungendo le virgolette e un asterisco dopo il termine di ricerca originale. Dovrebbe funzionare.
Ma nel caso se tutte le ricerche saranno simili all'esempio che hai postato sopra, vi consiglio di utilizzare dichiarazione LIKE
invece di usare ricerca a testo integrale.