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

Какво представлява MySQL еквивалентът на STUFF() в SQL Server?

Ако сте запознати с SQL Server,  може да знаете, че можете да използвате T-SQL STUFF() функция за вмъкване на низ в низ. Както се оказва, MySQL има подобна функция – но с различно име.

 INSERT() на MySQL функцията прави по същество същото нещо, което T-SQL STUFF() функция.

С изключение на няколко дребни разлики (вижте по-долу), и двете функции работят абсолютно еднакво.

Синтаксис

Ето официалния синтаксис на всяка от тези функции.

T-SQL – Функцията STUFF()

STUFF ( character_expression , start , length , replaceWith_expression )

MySQL – Функцията INSERT()

INSERT(str,pos,len,newstr)

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

Примери

Ето пример за всяка от тези функции в действие.

T-SQL – Функцията STUFF()

SELECT STUFF('Cats and dogs', 6, 3, 'like');

Резултат:

Cats like dogs

MySQL – Функцията INSERT()

SELECT INSERT('Cats and dogs', 6, 3, 'like');

Резултат:

Cats like dogs

Както можете да видите, единствената разлика е името на функцията. Можем да пренесем едно към друго, просто като променим името на функцията.

Разлики между STUFF() и INSERT()

Има няколко разлики в начина на работа на тези функции. По-специално, двете основни разлики са как се справят с:

  • Позиции извън обхвата
  • NULL стойности

Тези разлики са обяснени по-долу.

Позиции извън обхват

Ако се опитате да вмъкнете на позиция, която е извън дължината на оригиналния низ, INSERT() на MySQL функцията ще върне оригиналния низ. От друга страна, STUFF() на T-SQL функцията ще върне NULL .

T-SQL – Функцията STUFF()

SELECT STUFF('Cats and dogs', 20, 4, 'rabbits');

Резултат:

NULL

MySQL – Функцията INSERT()

SELECT INSERT('Cats and dogs', 20, 4, 'rabbits');

Резултат:

Cats and dogs

NULL стойности

Тези две функции също се различават по начина, по който се справят с всички NULL стойности, които се опитвате да вмъкнете.

T-SQL – Функцията STUFF()

SELECT STUFF('Cats and dogs', 6, 3, NULL);

Резултат:

Cats dogs

T-SQL – Функцията INSERT()

SELECT INSERT('Cats and dogs', 6, 3, NULL);

Резултат:

NULL

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP_CONCAT с ограничение

  2. Брояч на приращение на MySQL SELECT

  3. Как да получите размера на таблица в MySQL

  4. Как да създам защитена mysql подготвена декларация в php?

  5. Уникално ограничение, което позволява празни стойности в MySQL