Resumo : neste tutorial, você aprenderá como usar a INSERT()
função MySQL para substituir uma substring dentro de uma string por uma nova substring.
Introdução à função INSERT() do MySQL
A INSERT()
função permite substituir uma substring dentro de uma string por uma nova substring.
Aqui está a sintaxe básica da INSERT()
função:
INSERT(str, pos, len, newstr)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe:
str
: A string original onde você deseja carregar a substituição.pos
: A posição na string original onde você deseja iniciar a substituição.len
: O comprimento da substring a ser substituída.newstr
: a nova string que você deseja substituir a substring antiga.
A INSERT()
função retorna a string str
, com a substring começando na posição pos
e len
os caracteres longos substituídos pela string newstr
.
Se o comprimento ( len
) for maior que o comprimento restante da string após a posição inicial ( pos
), a INSERT()
função substituirá os caracteres da posição inicial ( pos
) até o final da string pela nova substring.
A INSERT()
função retorna a string original se pos
não estiver dentro do comprimento da string.
A INSERT()
função também retorna NULL
se algum argumento for NULL
.
A INSERT()
função é segura para vários bytes. Isso significa que ele pode manipular corretamente strings contendo caracteres multibyte, tornando-o adequado para uso em diversas configurações de idioma.
Observe que a INSERT()
função não modifica a string original; Em vez disso, ele retorna uma nova string com as modificações especificadas.
Exemplos de funções INSERT do MySQL
Vejamos alguns exemplos de uso da INSERT()
função MySQL.
1) Exemplo básico da função INSERT() do MySQL
O exemplo a seguir usa a INSERT()
função para substituir a substring SQL
na string MySQL
pela nova substring Database
:
SELECT
INSERT('MySQL', 3, 8, 'Database');
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+-----------------------------------+
| INSERT('MySQL', 3, 8, 'Database') |
+-----------------------------------+
| MyDatabase |
+-----------------------------------+
1 row in set (0.01 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
2) O exemplo da posição fora da raiva
O exemplo a seguir usa a INSERT()
função com a posição que está fora do intervalo (negativa neste caso), a INSERT()
função retorna a string original como está:
SELECT
INSERT('MySQL', -1, 2, 'DB');
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+------------------------------+
| INSERT('MySQL', -1, 2, 'DB') |
+------------------------------+
| MySQL |
+------------------------------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
3) O comprimento excede a string restante
O exemplo a seguir usa a INSERT()
função, mas com uma posição que excede o comprimento restante da string, portanto, substitui o resto da string da posição:
SELECT INSERT('MySQL', 3, 50, 'DB');
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+------------------------------+
| INSERT('MySQL', 3, 50, 'DB') |
+------------------------------+
| MyDB |
+------------------------------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
4) Usando a função INSERT() com dados da tabela
Usaremos a products
tabela do banco de dados de exemplo .
O exemplo a seguir usa a INSERT()
função para substituir o restante da string da posição 4 pelo caractere ”:
SELECT
productCode,
INSERT(productCode, 4, 10, '')
from
products;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+-------------+--------------------------------+
| productCode | INSERT(productCode, 4, 10, '') |
+-------------+--------------------------------+
| S10_1949 | S10 |
| S10_4757 | S10 |
| S10_4962 | S10 |
| S12_1099 | S12 |
| S12_1108 | S12 |
| S12_3148 | S12 |
| S12_3380 | S12 |
| S12_3891 | S12 |
| S12_3990 | S12 |
| S12_4675 | S12 |
| S18_1129 | S18 |
...
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Resumo
- Use a
INSERT()
função para substituir uma substring dentro de uma string por uma nova substring.