OVH Cloud OVH Cloud

Transac SQL : Contains

2 réponses
Avatar
Tatal
bonjour,

j'ai essayer de faire fonctionner cette commande, en lieu et place du like%
car je pense que c'est plus rapide sur des colonnes ayant un grand nombre
d'informaitons
mais j'ai un soucis
sur la table que je souhaite indexer dans le texte intégral, j'ai bien une
colonne indexé, j'ai bien dans mon catalogue, des informations (nombre
d'éléments et de clés est renseigné, et différent de 1)

mais lorsque je lance un select, j'ai rien qui ressort
je comprends rien :

select *
from products
where Productname like 'Cha%'
CA CELA MARCHE

select *
from products
where contains ( productname,'Cha*')
CA NE ME RENVOI AUCUNE LIGNE (J'ai pas d'erreur, mais 0 lignes retournés)

merci

2 réponses

Avatar
Julien
d'apres la doc, ton instruction manque de guillemets...

exemple :
SELECT ProductName
FROM Products
WHERE CONTAINS(ProductName, ' "choc*" ')


"Tatal" a écrit dans le message de news: cel92n$bi7$
bonjour,

j'ai essayer de faire fonctionner cette commande, en lieu et place du like%
car je pense que c'est plus rapide sur des colonnes ayant un grand nombre
d'informaitons
mais j'ai un soucis
sur la table que je souhaite indexer dans le texte intégral, j'ai bien une
colonne indexé, j'ai bien dans mon catalogue, des informations (nombre
d'éléments et de clés est renseigné, et différent de 1)

mais lorsque je lance un select, j'ai rien qui ressort
je comprends rien :

select *
from products
where Productname like 'Cha%'
CA CELA MARCHE

select *
from products
where contains ( productname,'Cha*')
CA NE ME RENVOI AUCUNE LIGNE (J'ai pas d'erreur, mais 0 lignes retournés)

merci
Avatar
Tatal
In article , says...
d'apres la doc, ton instruction manque de guillemets...

exemple :
SELECT ProductName
FROM Products
WHERE CONTAINS(ProductName, ' "choc*" ')


"Tatal" a écrit dans le message de ne ws: cel92n$bi7$
bonjour,

j'ai essayer de faire fonctionner cette commande, en lieu et place du lik e%
car je pense que c'est plus rapide sur des colonnes ayant un grand nombre
d'informaitons
mais j'ai un soucis


maintenant j'ai çà, en mettant les guillemets

Serveur : Msg 7342, Niveau 16, État 1, Ligne 1
Unexpected NULL value returned for column '[FULLTEXT:Products].KEY'
from
the OLE DB provider 'Full-text Search Engine'. This column cannot be
NULL.
OLE DB error trace [Non-interface error: Unexpected NULL value
returned
for the column: ProviderName='Full-text Search Engine',
TableName='[FULLTEXT:Products]', ColumnName='KEY'].

et la requete suivante

select *
from products
where contains ( productname,'"Ch*"')




sur la table que je souhaite indexer dans le texte intégral, j'ai bien une
colonne indexé, j'ai bien dans mon catalogue, des informations (nombre
d'éléments et de clés est renseigné, et différent de 1)

mais lorsque je lance un select, j'ai rien qui ressort
je comprends rien :

select *
from products
where Productname like 'Cha%'
CA CELA MARCHE

select *
from products
where contains ( productname,'Cha*')
CA NE ME RENVOI AUCUNE LIGNE (J'ai pas d'erreur, mais 0 lignes retourné s)

merci