sql >> Database teknologi >  >> RDS >> Mysql

Hvad er MySQL-ækvivalenten til STUFF() i SQL Server?

Hvis du er bekendt med SQL-server, ved du måske, at du kan bruge T-SQL STUFF() funktion til at indsætte en streng i en streng. Som det viser sig, har MySQL en lignende funktion – men med et andet navn.

MySQL's INSERT() funktion gør stort set det samme som T-SQL STUFF() funktion gør.

Med undtagelse af et par mindre forskelle (se nedenfor), fungerer begge funktioner nøjagtigt det samme.

Syntaks

Her er den officielle syntaks for hver af disse funktioner.

T-SQL – STUFF()-funktionen

STUFF ( character_expression , start , length , replaceWith_expression )

MySQL – INSERT()-funktionen

INSERT(str,pos,len,newstr)

Selvom hver af disse definitioner bruger forskellig terminologi, gør de grundlæggende det samme.

Eksempler

Her er et eksempel på hver af disse funktioner i aktion.

T-SQL – STUFF()-funktionen

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

Resultat:

Cats like dogs

MySQL – INSERT()-funktionen

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

Resultat:

Cats like dogs

Som du kan se, er den eneste forskel funktionsnavnet. Vi kan overføre den ene til den anden ved blot at ændre navnet på funktionen.

Forskelle mellem STUFF() og INSERT()

Der er et par forskelle i, hvordan disse funktioner fungerer. Især er de to vigtigste forskelle, hvordan de håndterer:

  • Uden for rækkevidde
  • NULL-værdier

Disse forskelle er forklaret nedenfor.

Positioner uden for rækkevidde

Hvis du forsøger at indsætte på en position, der er uden for længden af ​​den originale streng, vil MySQL's INSERT() funktion vil returnere den oprindelige streng. På den anden side T-SQL's STUFF() funktionen returnerer NULL .

T-SQL – STUFF()-funktionen

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

Resultat:

NULL

MySQL – INSERT()-funktionen

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

Resultat:

Cats and dogs

NULL-værdier

Disse to funktioner adskiller sig også i, hvordan de håndterer eventuelle NULL-værdier, du forsøger at indsætte.

T-SQL – STUFF()-funktionen

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

Resultat:

Cats dogs

T-SQL – INSERT()-funktionen

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

Resultat:

NULL

  1. hvordan man overfører variabel fra shell-script til sqlplus

  2. SQL-ændringstabel

  3. 2 måder at indsætte en ny linje i en streng i SQLite

  4. Hvordan kan jeg indsætte billede i en sqlite-database