sql >> Databáze >  >> RDS >> MariaDB

Jak REPEAT() funguje v MariaDB

V MariaDB REPEAT() je vestavěná řetězcová funkce, která vrací řetězec opakující se určitý počet opakování.

Řetězec předáte a také kolikrát chcete, aby se opakoval při volání funkce.

Syntaxe

Syntaxe vypadá takto:

REPEAT(str,count)

Kde str je řetězec, který se má opakovat, a count je počet opakování.

Příklad

Zde je základní příklad:

SELECT REPEAT('Pow!', 3);

Výsledek:

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

Zřetězení s jinými řetězci

V tomto příkladu předáme REPEAT() jako argument pro CONCAT() funkce tak, že některé tečky jsou předřazeny a připojeny k řetězci:

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

Výsledek:

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

Nízký počet

Pokud je počet menší než 1 , REPEAT() funkce vrací prázdný řetězec:

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

Výsledek:

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

Prázdný řetězec

Co se stane, když je předán prázdný řetězec:

SELECT REPEAT('', 100);

Výsledek:

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

Mezerní znak

Prázdný řetězec však není totéž jako znak mezery.

Zde je to, co se stane, když změníme prázdný řetězec na mezeru:

SELECT REPEAT(' ', 100);

Výsledek:

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

Nulový argument

Poskytování null výsledkem je null :

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

Výsledek:

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

Chybí argument

Volání REPEAT() s nesprávným počtem argumentů nebo bez předání jakýchkoli argumentů vede k chybě:

SELECT REPEAT();

Výsledek:

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. Chybějící indexy v MS SQL nebo optimalizace v žádném okamžiku

  2. Jak používat SQL kurzory pro speciální účely

  3. Mohu provést více dotazů oddělených středníkem pomocí MySQL Connector/J?

  4. Nejlepší ekvivalent pro IsInteger v SQL Server