Para utilizar igual que con la concordancia parcial% también se puede hacer esto: column like concat('%', :something, '%')
(en otras palabras, el uso de signos% explícitamente no desactivados que definitivamente no son entradas del usuario) con el parámetro nombrado :something
.
Editar: una sintaxis alternativa que he encontrado es utilizar el operador de concatenación: ||, por lo que va a convertirse simplemente: where column like '%' || :something || '%' etc
@bobince menciones here que:
El difficulty aparece cuando desea permitir un carácter literal %
o _
en la cadena de búsqueda , sin tener que actuar como un comodín .
Así que eso es algo más a tener en cuenta al combinar como y la parametrización.
Esa no es la ley de Murphy;) –
@ Andrew: ¿y si múltiples 'like' se usa? ¿cómo debería ejecutarse la matriz de ejecución en orden? – logan
gracias. tenía un problema similar con csharp + Mysql + ODBC al usar como si no devolviera ninguna fila con "select * from table where column like '%?%';" pero si lo hago me gusta "seleccionar * de la tabla donde la columna me gusta?" y configure la cadena del parámetro así: string frag = $ "% {searchFragment}%"; luego usa frag para el valor del parámetro. Weird – sdjuan