sql >> Database >  >> RDS >> Mysql

Hoe de MID()-functie werkt in MySQL

In MySQL, de MID() functie retourneert een subtekenreeks die begint vanaf de opgegeven positie.

Beide MID() en SUBSTR() zijn synoniemen van SUBSTRING() .

Syntaxis

De basissyntaxis gaat als volgt:

MID(str,pos,len)

Hier, str is de string, pos is de positie om de substring te starten, en len is een optioneel argument dat het aantal tekens bepaalt dat vanaf die startpositie moet terugkeren.

Er zijn verschillende variaties op hoe u deze functie kunt gebruiken, dus het volledige scala aan syntaxis ziet er als volgt uit:

MID(str,pos)
MID(str FROM pos)
MID(str,pos,len)
MID(str FROM pos FOR len)

Deze worden gedemonstreerd in de volgende voorbeelden.

Voorbeeld 1 – Basisgebruik

Hier is een voorbeeld van de MID(str,pos) syntaxis:

SELECT MID('I drink coffee', 3) Result;

Resultaat:

+--------------+
| Result       |
+--------------+
| drink coffee |
+--------------+

In dit voorbeeld neem ik een substring van de string, beginnend op positie 3.

Voorbeeld 2 – De FROM-clausule gebruiken

Hier leest u hoe u hetzelfde kunt doen, maar deze keer met de MID(str FROM pos) syntaxis:

SELECT MID('I drink coffee' FROM 3) Result;

Resultaat:

+--------------+
| Result       |
+--------------+
| drink coffee |
+--------------+

Dus we krijgen hetzelfde resultaat.

In dit geval FROM is standaard SQL. Merk op dat deze syntaxis geen komma's gebruikt.

Voorbeeld 3 – Specificeer een lengte

In dit voorbeeld gebruik ik de MID(str,pos,len) syntaxis:

SELECT MID('I drink coffee', 3, 5) Result;

Resultaat:

+--------+
| Result |
+--------+
| drink  |
+--------+

Hier specificeer ik dat de geretourneerde subtekenreeks 5 tekens lang moet zijn.

Voorbeeld 4 – Specificeer een lengte (met behulp van de FOR-clausule)

In dit voorbeeld gebruik ik de MID(str FROM pos FOR len) syntaxis:

SELECT MID('I drink coffee' FROM 3 FOR 5) Result;

Resultaat:

+--------+
| Result |
+--------+
| drink  |
+--------+

Dus deze keer gebruikten we standaard SQL om hetzelfde resultaat te bereiken


  1. Een tabel met voetbalgegevens van miljarden rijen partitioneren met behulp van gegevenscontext

  2. Query die de spaties negeert

  3. Beste DBaaS-oplossing voor MySQL

  4. RANK, DENSE_RANK en ROW_NUMBER functies in Oracle