sql >> Database >  >> RDS >> MariaDB

Hoe REPEAT() werkt in MariaDB

In MariaDB, REPEAT() is een ingebouwde tekenreeksfunctie die een tekenreeks retourneert die een bepaald aantal keren wordt herhaald.

U geeft de tekenreeks door, evenals het aantal keren dat u wilt dat deze wordt herhaald wanneer u de functie aanroept.

Syntaxis

De syntaxis gaat als volgt:

REPEAT(str,count)

Waar str is de string die herhaald moet worden, en count is het aantal keren dat het moet worden herhaald.

Voorbeeld

Hier is een eenvoudig voorbeeld:

SELECT REPEAT('Pow!', 3);

Resultaat:

+-------------------+
| REPEAT('Pow!', 3) |
+-------------------+
| Pow!Pow!Pow!      |
+-------------------+

Aaneenschakeling met andere tekenreeksen

In dit voorbeeld passeren we REPEAT() als argument voor de CONCAT() functie zodat sommige punten worden toegevoegd aan de tekenreeks:

SELECT CONCAT(REPEAT('.', 12), 'Dog', REPEAT('.', 12));

Resultaat:

+-------------------------------------------------+
| CONCAT(REPEAT('.', 12), 'Dog', REPEAT('.', 12)) |
+-------------------------------------------------+
| ............Dog............                     |
+-------------------------------------------------+

Lage telling

Als het aantal minder is dan 1 , de REPEAT() functie retourneert een lege string:

SELECT 
    REPEAT('Pow!', 0),
    REPEAT('Pow!', -1);

Resultaat:

+-------------------+--------------------+
| REPEAT('Pow!', 0) | REPEAT('Pow!', -1) |
+-------------------+--------------------+
|                   |                    |
+-------------------+--------------------+

Lege string

Dit is wat er gebeurt als een lege string wordt doorgegeven:

SELECT REPEAT('', 100);

Resultaat:

+-----------------+
| REPEAT('', 100) |
+-----------------+
|                 |
+-----------------+

Spatieteken

Een lege string is echter niet hetzelfde als het spatieteken.

Dit is wat er gebeurt als we de lege tekenreeks in een spatie veranderen:

SELECT REPEAT(' ', 100);

Resultaat:

+------------------------------------------------------------------------------------------------------+
| REPEAT(' ', 100)                                                                                     |
+------------------------------------------------------------------------------------------------------+
|                                                                                                      |
+------------------------------------------------------------------------------------------------------+

Nullargument

null opgeven resulteert in null :

SELECT 
    REPEAT(null, 5),
    REPEAT('Dog', null);

Resultaat:

+-----------------+---------------------+
| REPEAT(null, 5) | REPEAT('Dog', null) |
+-----------------+---------------------+
| NULL            | NULL                |
+-----------------+---------------------+

Ontbrekend argument

REPEAT() . aanroepen met het verkeerde aantal argumenten, of zonder het doorgeven van argumenten resulteert in een fout:

SELECT REPEAT();

Resultaat:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

  1. MySQL in de cloud - Online migratie van Amazon RDS naar uw eigen server:deel2

  2. Controleer of de tekenreeks tekens met accenten bevat in SQL?

  3. string letterlijk te lang - hoe lange xml-gegevens toe te wijzen aan clob-gegevenstype in oracle 11g r2

  4. Verwijzen naar een alias elders in de SELECT-lijst