Problema con contains

29/11/2008 - 12:26 por Daniel Álvarez | Informe spam
Hola

Tengo un catalogo de texto y he montado un buscador de registros
usando contains, funciona bien.

Pero en mi base de datos tenemos bastantes registros que contienen
información con palabrejas de este tipo:

MIBUTTON1.COMMAND2.CLICK
MIBUTTON2.COMMAND2.CLICK

Como veis son distintas palabras separadas por puntos y no por
espacios.

Si el usuario busca COMMAND2.CLICK el sql dice que no hay ningun
registro, el sql se lia con los puntos, el usuario para encontrar algo
tiene que escribir toda las palabras MIBUTTON1.COMMAND2.CLICK, si
estuviera separado por espacios no hay problema, pero los registros se
guardan asi.

Los usuarios me piden que cuando escriben parte de la frase salgan
todos los registros, como funciona con el resto de palabras.

Estoy con SQL 2000, sp4.

¿Sabeis que puedo hacer?

Muchas gracias.

Preguntas similare

Leer las respuestas

#1 David Austria
05/12/2008 - 03:22 | Informe spam
Hola.
Revisa el siguiente código, no usa la sentencia “conteins” pero espero
que te sirva.

CREATE TABLE Catalogo
(ID int IDENTITY (1 , 1) PRIMARY KEY NOT NULL,
[Descripcion] nvarchar (50))

INSERT INTO Catalogo (Descripcion) VALUES
( 'MIBUTTON1.COMMAND2.CLICK')
INSERT INTO Catalogo (Descripcion) VALUES
( 'MIBUTTON2.COMMAND2.CLICK')
INSERT INTO Catalogo (Descripcion) VALUES
( 'MIBUTTON1.COMMAND1.CLICK')

DECLARE @BuscarPalabra varchar(50)

SET @BuscarPalabra ='COMMAND2 CLICK'
SET @BuscarPalabra = REPLACE (@BuscarPalabra,' ','_')
SET @BuscarPalabra = '%' + @BuscarPalabra + '%'


SELECT * FROM Catalogo WHERE Descripcion LIKE @BuscarPalabra

Saludos.
David Austria
Respuesta Responder a este mensaje
#2 Daniel Álvarez
15/12/2008 - 17:55 | Informe spam
On 5 dic, 03:22, David Austria wrote:
Hola.
Revisa el siguiente código, no usa la sentencia “conteins” pero espero
que te sirva.

 CREATE TABLE Catalogo
 (ID int IDENTITY (1 , 1) PRIMARY KEY NOT NULL,
 [Descripcion] nvarchar (50))

INSERT INTO Catalogo (Descripcion) VALUES
( 'MIBUTTON1.COMMAND2.CLICK')
INSERT INTO Catalogo (Descripcion) VALUES
( 'MIBUTTON2.COMMAND2.CLICK')
INSERT INTO Catalogo (Descripcion) VALUES
( 'MIBUTTON1.COMMAND1.CLICK')

DECLARE @BuscarPalabra varchar(50)

SET @BuscarPalabra ='COMMAND2 CLICK'
SET @BuscarPalabra = REPLACE (@BuscarPalabra,' ','_')
SET @BuscarPalabra = '%' + @BuscarPalabra + '%'

SELECT * FROM Catalogo WHERE Descripcion LIKE  @BuscarPalabra

Saludos.
David Austria



Gracias David, pero estas busquedas estan basadas en catalogos de
texto para mejorar el rendimiento del servidor y no puedo usar LIKE

¡¡ya me gustaria!!

Gracias de todas formas
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida