Realización de una búsqueda de base de datos ASP.NET con la palabra clave StartsWith
Pregunta
Tengo una consulta. Estoy desarrollando un sitio que tiene un motor de búsqueda. El motor de búsqueda es la función principal. Es un sitio de directorio de negocios.
Un presente tengo SQL básica de búsqueda que busca en la base de datos utilizando el "COMO" palabra clave.
Mi cliente me ha pedido que cambie la función de búsqueda por lo que en lugar de utilizar la palabra clave "igual" que son después algo en la línea de la palabra clave "startsWith".
Para aclarar esta necesidad aquí es un ejemplo. Si alguien escribe "PLU" para los fontaneros en el cuadro de texto que devuelve la actualidad, por ejemplo.,
- CENTRO DE ESTADO PLOMERIA Y CUBIERTAS
- PLOMERÍA ILIMITADO
El cliente sólo quiere devolver el "PLOMERÍA ILIMITADA" porque startsWith "PLU", y no "contiene" "PLU"
Sé que esto es una petición extraña y tal vez tonta, sin embargo, ¿alguien tiene cualquier código de ejemplo de SQL para que me señale en la dirección correcta sobre cómo lograr este objetivo.
Cualquier ayuda sería muy apreciada, gracias ...
Solución
En lugar de:
select * from professions where name like '%plu%'
, utilice una cláusula where sin el líder%:
select * from professions where name like 'plu%'
Otros consejos
¿qué tal esto:
SELECT * FROM MyTable WHERE MyColumn LIKE 'PLU%'
tenga en cuenta que el signo% es sólo en el lado derecho de la cuerda
ejemplo, en MS SQL
LIKE
no le dará el rendimiento que necesita para una búsqueda realmente eficaz. Buscando en algo así como Lucence
o búsqueda de texto equivalente en su motor.