J'ai une configuration de catalogue de texte complet. Il a un nombre de clés unique de 117 avec 19 articles. La table a seulement 19 lignes.Ma requête ContainsTable ne fonctionne pas - aidez s'il vous plaît :)
La table possède un champ NVARCHAR (50) appelé ClientGuid. C'est un guid avec un texte bizarre à la fin.
par exemple ..
- 8b6ef4a504dd1a57f079180e7f6eb4a0 (-)
- 8b6ef4a504dd1a57f079180e7f6eb4a0 (OK)
(et non, je ne l'ai pas défini que les données de champ de texte - nous de l'approvisionnement, il d'une tierce partie API
de suite, ceci est mon sql et la requête que je cours contre lui Quand je cours la requête, j'obtiens des résultats ZÉRO de retour :(
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')
Des suggestions? Server est Sql Server 2008.
par intérêt, pourquoi AIMER au lieu de CONTAINS? –
@ Pure.Krome, en quelques mots: 'LIKE ('8b *')' expression pourrait utiliser index sur cette colonne si elle est définie; malgré que le prédicat 'LIKE' ne fonctionne que sur les modèles de caractères, votre exemple est un tel cas; aussi 'LIKE' est aussi plus intuitif ici. – Alex