Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

[SOLUCIONADO] Busqueda FREETEXT CONTAINS

Estas en el tema de Busqueda FREETEXT CONTAINS en el foro de SQL Server en Foros del Web. Buenas tardes, quisiera saber como hacer una busqueda con WHERE que contenga parte de una palabra que esté dentro de una celda en SQL Server... ...
  #1 (permalink)  
Antiguo 25/09/2018, 14:22
 
Fecha de Ingreso: noviembre-2012
Mensajes: 43
Antigüedad: 12 años
Puntos: 0
Busqueda FREETEXT CONTAINS

Buenas tardes, quisiera saber como hacer una busqueda con WHERE que contenga parte de una palabra que esté dentro de una celda en SQL Server...

Por ejemplo: Tabla Articulos -> Columna Nombre -> "Articulo con cierta descripcion"


Y en la siguiente consulta SELECT, que devuelva ese artículo.

SELECT * FROM Articulos WHERE FREETEXT(Nombre, 'descr')

Ahora puedo hacerlo que devuelva esos valores, pero cuando tiene la palabra completa, por ejemplo SELECT * FROM Articulos WHERE FREETEXT(Nombre, 'descripcion').

Ya sea con Freetext o con Contains.

Gracias por su ayuda-
  #2 (permalink)  
Antiguo 25/09/2018, 15:22
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Busqueda FREETEXT CONTAINS

y para que freetext, porque no usas un like?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 25/09/2018, 16:49
 
Fecha de Ingreso: noviembre-2012
Mensajes: 43
Antigüedad: 12 años
Puntos: 0
Respuesta: Busqueda FREETEXT CONTAINS

hola Libras, gracias por tu respuesta/pregunta! Porque el LIKE trae según como empieza el texto en el campo... o sea si uso WHERE Nombre LIKE 'Art' + '%' ahí si lo traería, pero si uso Nombre LIKE 'desc' + '%' no trae nada, porque no empieza con 'desc' sino con 'art'
  #4 (permalink)  
Antiguo 26/09/2018, 08:01
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Busqueda FREETEXT CONTAINS

Para eso usas el comodin al inicio y al final del texto

Código SQL:
Ver original
  1. SELECT * FROM campo WHERE valor LIKE '%' + @variable + '%'

asi te traera cuando encuentre alguna ocurrencia del valor por ejemplo Descripcion, si pones des, la traera, si pones pcion, la encontrara

Código SQL:
Ver original
  1. CREATE TABLE #temp
  2. (
  3. campo nvarchar(200)
  4. )
  5.  
  6. INSERT INTO #temp VALUES ('articulo con cierta descripcion')
  7. INSERT INTO #temp VALUES ('aqui mas cosas')
  8.  
  9. SELECT * FROM #temp WHERE campo LIKE '%con%'
  10. SELECT * FROM #temp WHERE campo LIKE '%desc%'
  11. SELECT * FROM #temp WHERE campo LIKE '%descripcion%'
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 18/10/2018, 08:26
 
Fecha de Ingreso: noviembre-2012
Mensajes: 43
Antigüedad: 12 años
Puntos: 0
Respuesta: Busqueda FREETEXT CONTAINS

GENIAAAAALLLLL!!!!!!!! Que gran salvada, Libras!!!!!!!!! Funciona de maravillas!!!
MILLONES DE GRACIAS!!!!!!

Etiquetas: busqueda
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:17.