Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Buscar en dos campos la misma tabla a la vez e insensible a acentos

Estas en el tema de Buscar en dos campos la misma tabla a la vez e insensible a acentos en el foro de Mysql en Foros del Web. Hola amigas y amigos verán tengo un código que me debería permitir buscar en dos campos de la misma tabla pero no lo hace. Lo ...
  #1 (permalink)  
Antiguo 06/04/2022, 01:55
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 5
Buscar en dos campos la misma tabla a la vez e insensible a acentos

Hola amigas y amigos verán tengo un código que me debería permitir buscar en dos campos de la misma tabla pero no lo hace.

Lo detallaré mas:

Una tabla llamada "clientes" que tiene un campo llamado "nombre" y

otro campo llamado "apellidos".

En el campo "nombre" hay un valor "Pedro"

En el campo "apellidos": "Hernández Castillo"

Pero cuando hago la búsqueda solo me muestra el resultado si pongo solo "Pedro" o si pongo solo "Hernández Castillo".

Pero si pongo "Pedro Hernández Castillo", entonces NO me muestra nada.

Miren este es mi código que estoy usando:

Código SQL:
Ver original
  1. SELECT *
  2. FROM clientes
  3. WHERE
  4. CONCAT_WS(' ', nombre, apellidos) LIKE '%$dato_sin_prefijo%' OR
  5. CONCAT_WS(' ', apellidos, nombre) LIKE '%$dato_sin_prefijo%'

--------------------------------------------------------------------------
El segundo problema que tengo es que necesito que la búsqueda no me distinga entre vocales acentuadas y las no acentuadas algo que tampoco consigo que me funcione,
este es el código que estoy utilizando:

Código SQL:
Ver original
  1. SELECT * FROM clientes COLLATE utf8_general_ci

--------------------------------------------------------------------------

El motor de la base de datos es: InnoDB

Si alguien me pudiera ayudar le estaría muy agradecido.

Un saludo a todos.

Última edición por mensajeescrito; 06/04/2022 a las 11:32

Etiquetas: acentos, campos, tabla, vez
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:18.