Di MariaDB, INSERT()
adalah fungsi string bawaan yang memungkinkan Anda memasukkan substring ke string lain.
Sintaks
Sintaksnya seperti ini:
INSERT(str,pos,len,newstr)
Dimana str
adalah string, pos
adalah posisi awal untuk memasukkan, len
adalah jumlah karakter yang akan diganti, dan newstr
adalah substring yang akan disisipkan.
Contoh
Berikut ini contoh dasarnya:
SELECT INSERT('The hot sun', 5, 3, 'red');
Hasil:
+------------------------------------+ | INSERT('The hot sun', 5, 3, 'red') | +------------------------------------+ | The red sun | +------------------------------------+
Disini saya mengganti kata hot
dengan kata red
.
Di bawah ini adalah lebih banyak contoh untuk menunjukkan bagaimana argumen posisi dan panjang dapat memengaruhi hasil.
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";
Hasil:
+-----------------+--------------------+----------------+ | 1 | 2 | 3 | +-----------------+--------------------+----------------+ | The red hot sun | The black hole sun | Black hole sun | +-----------------+--------------------+----------------+
Posisi Awal Salah
Jika posisi awal berada di luar panjang string, string asli dikembalikan.
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";
Hasil:
+-------------+-------------+-------------+ | 1 | 2 | 3 | +-------------+-------------+-------------+ | The hot sun | The hot sun | The hot sun | +-------------+-------------+-------------+
Argumen Panjang
Jika panjangnya (argumen ketiga) sama panjangnya, atau lebih panjang dari sisa string, sisa string diganti dengan substring.
Contoh:
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";
Hasil:
+----------+------------------+------------------+------+ | 1 | 2 | 3 | 4 | +----------+------------------+------------------+------+ | The red | The hot pavement | The hot pavement | red | +----------+------------------+------------------+------+
Argumen Null
Memberikan null
untuk salah satu argumen menghasilkan 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";
Hasil:
+------+------+------+------+ | 1 | 2 | 3 | 4 | +------+------+------+------+ | NULL | NULL | NULL | NULL | +------+------+------+------+
Menyediakan Jumlah Argumen yang Salah
Memanggil INSERT()
dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun menghasilkan kesalahan:
SELECT INSERT();
Hasil:
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