Funció MySQL INSTR().

Funcio Mysql Instr



En aquest tutorial, aprendrem a utilitzar la funció MySQL INSTR() per determinar la posició de la primera ocurrència d'una subcadena determinada.

Funció MySQL INSTR().

Mitjançant la funció instr(), podem proporcionar una cadena i una subcadena. La funció determinarà si la subcadena existeix a la cadena d'origen. Si la subcadena existeix, la funció retornarà la posició de la primera ocurrència de la subcadena a la cadena d'origen.

Si la subcadena no existeix a la cadena d'origen, la funció retornarà 0.







A continuació es mostra la sintaxi de la funció instr():



INSTR(cadena_src, sub_cadena);

La funció accepta dos paràmetres principals:



  1. La cadena_src fa referència a la cadena d'origen en la qual voleu cercar.
  2. La sub_cadena defineix la subcadena que esteu cercant.

És bo tenir en compte que la funció instr() no distingeix entre majúscules i minúscules. Per tant, la funció només localitzarà els patrons coincidents sense tenir en compte les majúscules i minúscules dels caràcters,





Per fer una cerca que distingeix entre majúscules i minúscules, podeu utilitzar altres eines, com ara l'operador binari.

Exemple d'ús de funcions

Els exemples següents mostren com podem utilitzar la funció instr() per cercar una subcadena específica.



SELECT INSTR('MySQL és un motor de base de dades fantàstic', 'base de dades') com a pos;

L'exemple anterior retornarà la posició inicial de la cadena 'base de dades' de la cadena font. En aquest cas, la posició de la cadena de base de dades és 21, tal com es mostra a la sortida següent:

pos|

---+

21|

Exemple 2

Podem utilitzar les funcions minúscules () o majúscules per convertir una cadena en minúscules o majúscules. Això ens pot ajudar a superar la naturalesa de la distinció entre majúscules i minúscules de la funció.

Exemple:

SELECT INSTR(inferior('MySQL és un motor de base de dades fantàstic'), inferior('BASE DE DADES')) com pos;

Resultat:

pos|

---+

21|

Això retornarà un valor similar al del primer exemple, ja que la cadena font i la subcadena es converteixen en minúscules abans de l'operació de cerca.

Exemple 3

També podem utilitzar la funció instr() amb una columna de taula, tal com es mostra a la sintaxi següent.

SELECT INSTR(nom_columna, 'subcadena')

FROM nom_taula;

Exemple:

CREA TAULA blocs (

id INT NO NULL AUTO_INCREMENT CLAU PRIMÀRIA,

títol VARCHAR(255) NOT NULL,

contingut TEXT NOT NULL,

date_publicat DATE NOT NULL,

autor VARCHAR(255) NOT NULL

);

Insereix algunes dades:

INSERT INTO blogs (títol, contingut, data_publicació, autor)

VALORS ('La meva primera entrada al bloc', 'Aquest és el contingut de la meva primera entrada al blog', '2022-12-09', 'Jane Doe');

INSERT INTO blogs (títol, contingut, data_publicació, autor)

VALORS ('La meva segona entrada al blog', 'Aquest és el contingut de la meva segona entrada al blog', '2022-12-10', 'Jane Doe');

INSERT INTO blogs (títol, contingut, data_publicació, autor)

VALORS ('La meva tercera publicació de bloc', 'Aquest és el contingut de la meva tercera publicació de bloc', '2022-12-11', 'Jane Doe');

seleccioneu * dels blocs;

Taula resultant:

Podem utilitzar la funció instr() per obtenir la posició de la subcadena 'blog' a la columna de contingut tal com es mostra:

seleccionar títol, instr(contingut, 'publicació') dels blocs;

Resultat:

Conclusió

En aquest tutorial, heu après a utilitzar la funció INSTR() a MySQL per trobar la posició d'una subcadena dins d'una cadena. La funció distingeix entre majúscules i minúscules. Per tant, és possible que hàgiu d'utilitzar funcions com ara inferior i superior per convertir les cadenes de cerca als casos desitjats.