none
Problemas con comando like %% RRS feed

  • Pregunta

  • Estoy usando el siguiente comando en c# Select * From Alumnos Where Nombre = @name like '%" + name + "%' y nombre contiene nombre con apellido por ejemplo Jose Pepe Pancho, entonces si name  = "a" me muestra a Jose Pepe Pancho porque contiene una "a", como le hago para que solo busque una palabra completa, por ejemplo Jose o Pepe o Pancho, que tengas que escribir toda la palabra y no solo una letra para que encuentre todo
    domingo, 11 de marzo de 2018 0:49

Respuestas

  • Lo ideal sería usar expresiones regulares.  Pero bueno, si no gusta, puede usar LIKE de una manera mucho más compleja:

    Select
        *
    From
        Alumnos
    Where
        Nombre = @name --Nombre es una sola palabra
        Or
        Nombre Like @name + N' %' -- Primera palabra
        Or
        Nombre Like N'% ' + @name + N' %' --La palabra está en medio
        Or
        Nombre Like N'% ' + @name --La palabra está al final
    ;
    


    Jose R. MCP
    Code Samples

    • Marcado como respuesta FelixElGato17 domingo, 11 de marzo de 2018 3:10
    domingo, 11 de marzo de 2018 1:59

Todas las respuestas

  • Lo ideal sería usar expresiones regulares.  Pero bueno, si no gusta, puede usar LIKE de una manera mucho más compleja:

    Select
        *
    From
        Alumnos
    Where
        Nombre = @name --Nombre es una sola palabra
        Or
        Nombre Like @name + N' %' -- Primera palabra
        Or
        Nombre Like N'% ' + @name + N' %' --La palabra está en medio
        Or
        Nombre Like N'% ' + @name --La palabra está al final
    ;
    


    Jose R. MCP
    Code Samples

    • Marcado como respuesta FelixElGato17 domingo, 11 de marzo de 2018 3:10
    domingo, 11 de marzo de 2018 1:59
  • Me funciono muchas gracias!
    domingo, 11 de marzo de 2018 3:10