Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jaki jest odpowiednik MySQL funkcji STUFF() w SQL Server?

Jeśli znasz program SQL Server, być może wiesz, że możesz użyć funkcji STUFF() języka T-SQL funkcja do wstawienia ciągu w ciągu. Jak się okazuje, MySQL ma podobną funkcję – ale pod inną nazwą.

INSERT() w MySQL funkcja robi zasadniczo to samo, co T-SQL STUFF() funkcja działa.

Z wyjątkiem kilku drobnych różnic (patrz poniżej), obie funkcje działają dokładnie tak samo.

Składnia

Oto oficjalna składnia każdej z tych funkcji.

T-SQL – funkcja STUFF()

STUFF ( character_expression , start , length , replaceWith_expression )

MySQL – funkcja INSERT()

INSERT(str,pos,len,newstr)

Chociaż każda z tych definicji używa innej terminologii, zasadniczo robią to samo.

Przykłady

Oto przykład działania każdej z tych funkcji.

T-SQL – funkcja STUFF()

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

Wynik:

Cats like dogs

MySQL – funkcja INSERT()

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

Wynik:

Cats like dogs

Jak widać, jedyną różnicą jest nazwa funkcji. Możemy przenieść jedno na drugie, po prostu zmieniając nazwę funkcji.

Różnice między STUFF() i INSERT()

Istnieje kilka różnic w działaniu tych funkcji. W szczególności dwie główne różnice dotyczą sposobu, w jaki radzą sobie z:

  • Pozycje poza zasięgiem
  • Wartości NULL

Różnice te wyjaśniono poniżej.

Pozycje poza zasięgiem

Jeśli spróbujesz wstawić w miejscu, które jest poza długością oryginalnego ciągu, INSERT() MySQL funkcja zwróci oryginalny ciąg. Z drugiej strony STUFF() w T-SQL funkcja zwróci NULL .

T-SQL – funkcja STUFF()

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

Wynik:

NULL

MySQL – funkcja INSERT()

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

Wynik:

Cats and dogs

WARTOŚCI NULL

Te dwie funkcje różnią się również sposobem, w jaki radzą sobie z wartościami NULL, które próbujesz wstawić.

T-SQL – funkcja STUFF()

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

Wynik:

Cats dogs

T-SQL – funkcja INSERT()

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

Wynik:

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. Limit rozmiaru importu pliku w PHPMyAdmin

  2. Używanie ScrollableResults Hibernate do powolnego odczytu 90 milionów rekordów

  3. Wdróż relacyjne bazy danych MySQL na Ubuntu 12.04 (Precise Pangolin)

  4. Korzystanie z paszportu z Sequelize i MySQL

  5. MySQL otrzymuje brakujące identyfikatory z tabeli