varios valores una por parte palabra fulltext consulta coincidencias caracter cadena busqueda buscar buscador sql mysql string match

valores - MySQL SELECCIONE la coincidencia de cadenas de consulta



consulta sql like (5)

En la consulta anterior, si estamos buscando con algún carácter especial, por ejemplo: ''__'' o ''()'' que su recuperación de todos los datos,

SQL> select * from test_brck donde NVL (UPPER (v_name), 1) LIKE nvl (UPPER (''%'' || & v_name || ''%''), NVL (UPPER (v_name), 1));

Ingrese el valor para v_name: ''_''

antiguo 2: donde NVL (SUPERIOR (v_name), 1) ME GUSTA nvl (UPPER (''%'' || & v_name || ''%''), NVL (UPPER (v_name), 1))

nuevo 2: donde NVL (SUPERIOR (v_name), 1) LIKE nvl (UPPER (''%'' || ''_'' || ''%''), NVL (UPPER (v_name), 1))

V_NAME

Ramu (fue gbl)

Ramj

Ramu_Karan (fue blr)

Sidd_Karan

ABC% ^

xy123

a B C

7 filas seleccionadas.

salida:

Ramu_Karan (fue blr)

Sidd_Karan

Normalmente, cuando se consulta una base de datos con SELECT, es común querer encontrar los registros que coincidan con una cadena de búsqueda determinada.

Por ejemplo:

SELECT * FROM customers WHERE name LIKE ''%Bob Smith%'';

Esa consulta debería proporcionarme todos los registros en los que aparezca ''Bob Smith'' en cualquier parte del campo de nombre.

Lo que me gustaría hacer es lo contrario.

En lugar de encontrar todos los registros que tienen ''Bob Smith'' en el campo de nombre, quiero encontrar todos los registros donde el campo de nombre está en ''Robert Bob Smith III, PhD.'', Un argumento de cadena para la consulta.


Incorrecto:

SELECT * FROM customers WHERE name LIKE ''%Bob Smith%'';

En lugar:

select count(*) from rearp.customers c where c.name LIKE ''%Bob smith.8%'';

select count solo se consultará (totales)

C vinculará db.table a la fila de nombres que necesita para indexar

Como debe ser obvs

8 llamará a todas las referencias en DB 8 o menos (no es realmente necesario, pero me gusta la pulcritud)


Puedes usar expresiones regulares como esta:

SELECT * FROM pet WHERE name REGEXP ''Bob|Smith'';


Solo da vuelta al LIKE

SELECT * FROM customers WHERE ''Robert Bob Smith III, PhD.'' LIKE CONCAT(''%'',name,''%'')


También puedes usar

SELECT * FROM customers WHERE name LIKE "%Bob Smith%";

note las cotizaciones dobles