Tengo que buscar un manual en PDF usando esta consulta:
root@localhost:test> select * from a where name like '%taz_manual%.pdf%';
+--------------------+------------------+-------------+
| name | description | size |
+--------------------+------------------+-------------+
| taz-manual-1.1.pdf | Manual v1.0 TA-Z | 31351902 |
| taz-manual-0.2.pdf | Manual v1.0 T1-A | 3578278 |
| taz_manual-2.0.pdf | Manual v2.0 GA-X | 542578278 |
etc........
+--------------------+------------------+-------------+
132 row in set (0.00 sec)
¿Por qué veo el que tiene guiones cuando especifico el nombre taz_manual%.pdf
?
LIKE
declaración. Al reemplazar todo_
con un-
:UPDATE sys_file set identifier = REPLACE(identifier, '_', '-') WHERE identifier LIKE '%\_%';
. Note el escape adentroLIKE
y no escape adentroREPLACE
. (Me parece extraño que no estés en un contexto de patrón dentro de reemplazar ...)Tuve un problema similar con el espacio y los guiones al hacer coincidir cadenas con una coincidencia exacta:
La consulta anterior no devolvió ningún registro en MySQL. Tuve que escapar de los espacios y guiones y usar en
LIKE
lugar de la coincidencia exacta con iguales (=) de la siguiente manera:fuente