MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Как работи функцията INSERT() в MariaDB

В MariaDB, INSERT() е вградена функция за низ, която ви позволява да вмъкнете подниз в друг низ.

Синтаксис

Синтаксисът е така:

INSERT(str,pos,len,newstr)

Където str е низът, pos е началната позиция за вложката, len е броят на знаците за замяна и newstr е поднизът за вмъкване.

Пример

Ето един основен пример:

SELECT INSERT('The hot sun', 5, 3, 'red');

Резултат:

+------------------------------------+
| INSERT('The hot sun', 5, 3, 'red') |
+------------------------------------+
| The red sun                        |
+------------------------------------+

Тук замених думата hot с думата red .

По-долу са дадени още примери, които демонстрират как аргументите за позиция и дължина могат да повлияят на резултата.

SELECT 
    INSERT('The hot sun', 5, 0, 'red ') AS "1",
    INSERT('The hot sun', 5, 3, 'black hole') AS "2",
    INSERT('The hot sun', 1, 7, 'Black hole') AS "3";

Резултат:

+-----------------+--------------------+----------------+
| 1               | 2                  | 3              |
+-----------------+--------------------+----------------+
| The red hot sun | The black hole sun | Black hole sun |
+-----------------+--------------------+----------------+

Грешна начална позиция

Ако началната позиция е извън дължината на низа, оригиналният низ се връща.

SELECT 
    INSERT('The hot sun', 0, 3, 'red ') AS "1",
    INSERT('The hot sun', -5, 3, 'red') AS "2",
    INSERT('The hot sun', 20, 3, 'red') AS "3";

Резултат:

+-------------+-------------+-------------+
| 1           | 2           | 3           |
+-------------+-------------+-------------+
| The hot sun | The hot sun | The hot sun |
+-------------+-------------+-------------+

Аргументи с дълга дължина

Ако дължината (трети аргумент) е толкова дълга или по-дълга от останалата част от низа, остатъкът от низа се заменя с подниз.

Пример:

SELECT 
    INSERT('The hot sun', 5, 10, 'red ') AS "1",
    INSERT('The hot sun', 9, 3, 'pavement') AS "2",
    INSERT('The hot sun', 9, 4, 'pavement') AS "3",
    INSERT('The hot sun', 1, 20, 'red') AS "4";

Резултат:

+----------+------------------+------------------+------+
| 1        | 2                | 3                | 4    |
+----------+------------------+------------------+------+
| The red  | The hot pavement | The hot pavement | red  |
+----------+------------------+------------------+------+

Нулеви аргументи

Предоставяне на null за всеки от аргументите се получава null :

SELECT 
    INSERT(null, 5, 10, 'red ') AS "1",
    INSERT('The hot sun', null, 3, 'pavement') AS "2",
    INSERT('The hot sun', 9, null, 'pavement') AS "3",
    INSERT('The hot sun', 1, 20, null) AS "4";

Резултат:

+------+------+------+------+
| 1    | 2    | 3    | 4    |
+------+------+------+------+
| NULL | NULL | NULL | NULL |
+------+------+------+------+

Предоставяне на грешен брой аргументи

Извикване на INSERT() с грешен брой аргументи или без подаване на аргументи води до грешка:

SELECT INSERT();

Резултат:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да инсталирате MariaDB на CentOS 7 / RHEL 7

  2. Настройка на производителността на базата данни за MariaDB

  3. Как да автоматизирате отказ на база данни с ClusterControl

  4. Как EXTRACTVALUE() работи в MariaDB

  5. Как да защитите своята MySQL и MariaDB база данни срещу кибератаки, когато сте в публична мрежа