Executando uma pesquisa de banco de dados ASP.NET com o StartSwith Keyword

StackOverflow https://stackoverflow.com/questions/959480

  •  12-09-2019
  •  | 
  •  

Pergunta

Eu tenho uma consulta. Estou desenvolvendo um site que possui um mecanismo de pesquisa. O mecanismo de pesquisa é a principal função. É um site de diretório de negócios.

Um presente, tenho SQL de pesquisa básica que pesquisa no banco de dados usando a palavra -chave "curtir".

Meu cliente me pediu para alterar a função de pesquisa, portanto, em vez de usar a palavra -chave "curtir", eles estão depois de algo como a palavra -chave "StartSwith".

Para esclarecer essa necessidade aqui está um exemplo. Se alguém digita "PLU" para encanadores na caixa de texto, ele retorna atualmente, por exemplo,

  1. Encanamento e cobertura do estado central
  2. Encanamento ilimitado

O cliente só quer devolver o "encanamento ilimitado" porque inicia "PLU" e não contém "" PLU "

Eu sei que isso é um pedido estranho e talvez bobo, no entanto, alguém tem algum exemplo de código SQL para me apontar na direção certa sobre como atingir esse objetivo.

Qualquer ajuda seria muito apreciada, obrigado ...

Foi útil?

Solução

Ao invés de:

select * from professions where name like '%plu%'

, use uma cláusula WHERE sem o %principal:

select * from professions where name like 'plu%'

Outras dicas

que tal agora:SELECT * FROM MyTable WHERE MyColumn LIKE 'PLU%'


Observe que o signo % está apenas no lado direito da string
Exemplo no MS SQL

LIKE Não vou lhe dar o desempenho necessário para uma pesquisa realmente eficaz. Olhando para algo como Lucence ou a pesquisa de texto completa do seu motor equivalente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top