MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak działa funkcja INSERT() w MariaDB

W MariaDB, INSERT() jest wbudowaną funkcją ciągu, która pozwala wstawić podciąg do innego ciągu.

Składnia

Składnia wygląda tak:

INSERT(str,pos,len,newstr)

Gdzie str jest ciągiem, pos jest pozycją początkową wstawiania, len to liczba znaków do zastąpienia, a newstr jest podciągiem do wstawienia.

Przykład

Oto podstawowy przykład:

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

Wynik:

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

Tutaj zastąpiłem słowo hot ze słowem red .

Poniżej znajduje się więcej przykładów pokazujących, w jaki sposób argumenty pozycji i długości mogą wpływać na wynik.

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";

Wynik:

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

Niewłaściwa pozycja początkowa

Jeśli pozycja początkowa znajduje się poza długością ciągu, zwracany jest oryginalny ciąg.

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";

Wynik:

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

Długie argumenty

Jeśli długość (trzeci argument) jest tak długa lub dłuższa niż reszta ciągu, reszta ciągu jest zastępowana podciągiem.

Przykład:

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";

Wynik:

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

Argumenty zerowe

Podanie null dla dowolnego z argumentów daje wynik 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";

Wynik:

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

Podanie niewłaściwej liczby argumentów

Wywołanie INSERT() z niewłaściwą liczbą argumentów lub bez przekazania jakichkolwiek argumentów powoduje błąd:

SELECT INSERT();

Wynik:

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. Jak CURTIME() działa w MariaDB

  2. Jak zainstalować i zabezpieczyć MariaDB 10 w CentOS 6?

  3. Zapewnienie wysokiej dostępności komponentów bazy danych (HA) za pomocą systemów równoważenia obciążenia

  4. Kontrolowanie przełączania awaryjnego replikacji dla MySQL i MariaDB za pomocą skryptów przed lub po awarii

  5. 6 typowych scenariuszy awarii dla MySQL i MariaDB oraz jak je naprawić