Tengo una duda...a ver si alguien puede ayudarme

26/11/2005 - 00:38 por Sole | Informe spam
Hola grupo, pues tengo una duda ya que he hecho pruebas y no doy con el por
qué me devuelve registros que "creo" que no debería devolver, espero que
ustedes me aclaren un poco este lío si pueden. El problema es con un comodón
en el predicado CONTAINS. Os explico: Tengo los siguientes normbres escritos
debajo y estan en un campo de una tabla que tiene un indice de texto.

LOMBA PONCE JUAN
ALMENO PONTON FRANCISCO
ROMAN PONTE ALMAGRO



Al realizar las consulta SELECT * FROM tabla WHERE CONTAINTS(campoindexado,
'"pont*"')

ROMAN PONTE ALMAGRO
ALMENO PONTON FRANCISCO

Hasta aqui creo que está todo correcto ya que me filtra todos los registros
que contienen la palabra 'pont'

SELECT * FROM tabla WHERE CONTAINTS(campoindexado, '"ponte*"')

LOMBA PONCE JUAN
ALMENO PONTON FRANCISCO
ROMAN PONTE ALMAGRO

Aqui es donde viene mi duda. Por qué me devuelve los 3 registros si lo que
me debería devolver es uno no??



Un saludo y desde ya gracias anticipadas.
 

Leer las respuestas

#1 Salvador Ramos
28/11/2005 - 13:32 | Informe spam
Hola,

Contains permite hacer tanto búsquedas exactas como búsquedas aproximadas,
en tu caso al poner el texto entre comillas dobles estás haciendo búsquedas
aproximadas. Por esto al buscar PONTE te aparece también PONCE (es
aproximada).

Si quieres búsquedas exactas utiliza
SELECT * FROM tabla WHERE CONTAINTS(campoindexado, 'ponte*')

Un saludo
Salvador Ramos
Murcia - España

[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL Server y .NET)


"Sole" <solecvcdARROBAhotmail.com> escribió en el mensaje
news:
Hola grupo, pues tengo una duda ya que he hecho pruebas y no doy con el
por qué me devuelve registros que "creo" que no debería devolver, espero
que ustedes me aclaren un poco este lío si pueden. El problema es con un
comodón en el predicado CONTAINS. Os explico: Tengo los siguientes
normbres escritos debajo y estan en un campo de una tabla que tiene un
indice de texto.

LOMBA PONCE JUAN
ALMENO PONTON FRANCISCO
ROMAN PONTE ALMAGRO



Al realizar las consulta SELECT * FROM tabla WHERE
CONTAINTS(campoindexado, '"pont*"')

ROMAN PONTE ALMAGRO
ALMENO PONTON FRANCISCO

Hasta aqui creo que está todo correcto ya que me filtra todos los
registros que contienen la palabra 'pont'

SELECT * FROM tabla WHERE CONTAINTS(campoindexado, '"ponte*"')

LOMBA PONCE JUAN
ALMENO PONTON FRANCISCO
ROMAN PONTE ALMAGRO

Aqui es donde viene mi duda. Por qué me devuelve los 3 registros si lo
que me debería devolver es uno no??



Un saludo y desde ya gracias anticipadas.


Preguntas similares