sql >> Database >  >> RDS >> Mysql

Wat is het MySQL-equivalent van STUFF() in SQL Server?

Als u bekend bent met SQL Server, weet u wellicht dat u de T-SQL STUFF() kunt gebruiken functie om een ​​string in een string in te voegen. Het blijkt dat MySQL een vergelijkbare functie heeft, maar met een andere naam.

MySQL's INSERT() functie doet in wezen hetzelfde als de T-SQL STUFF() functie wel.

Op een paar kleine verschillen na (zie hieronder), werken beide functies precies hetzelfde.

Syntaxis

Dit is de officiële syntaxis van elk van deze functies.

T-SQL – De STUFF() Functie

STUFF ( character_expression , start , length , replaceWith_expression )

MySQL – De INSERT()-functie

INSERT(str,pos,len,newstr)

Hoewel elk van deze definities verschillende terminologie gebruikt, doen ze in principe hetzelfde.

Voorbeelden

Hier is een voorbeeld van elk van deze functies in actie.

T-SQL – De STUFF() Functie

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

Resultaat:

Cats like dogs

MySQL – De INSERT()-functie

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

Resultaat:

Cats like dogs

Zoals u kunt zien, is het enige verschil de functienaam. We kunnen de een naar de ander overdragen door simpelweg de naam van de functie te veranderen.

Verschillen tussen STUFF() en INSERT()

Er zijn een paar verschillen in hoe deze functies werken. De twee belangrijkste verschillen zijn met name hoe ze omgaan met:

  • Buiten bereik posities
  • NULL-waarden

Deze verschillen worden hieronder uitgelegd.

Buiten bereik posities

Als u probeert in te voegen op een positie die buiten de lengte van de originele tekenreeks ligt, wordt INSERT() van MySQL functie retourneert de oorspronkelijke tekenreeks. Aan de andere kant, T-SQL's STUFF() functie retourneert NULL .

T-SQL – De STUFF() Functie

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

Resultaat:

NULL

MySQL – De INSERT()-functie

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

Resultaat:

Cats and dogs

NULL-waarden

Deze twee functies verschillen ook in hoe ze omgaan met NULL-waarden die u probeert in te voegen.

T-SQL – De STUFF() Functie

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

Resultaat:

Cats dogs

T-SQL – De INSERT()-functie

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

Resultaat:

NULL

  1. PostgreSQL-tekst [][]-type en Java-type toewijzen

  2. SQLite en aangepaste volgorde door

  3. Verborgen prestatie- en beheersverbeteringen in SQL Server 2012/2014

  4. PG COPY-fout:ongeldige invoersyntaxis voor geheel getal