sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man returnerar en delsträng från en sträng i SQL Server med SUBSTRING()-funktionen

I SQL Server kan du använda T-SQL SUBSTRING() funktion för att returnera en delsträng från en given sträng.

Du kan använda SUBSTRING() för att returnera delar av ett tecken-, binär-, text- eller bilduttryck.

Syntax

Syntaxen ser ut så här:

SUBSTRING ( expression ,start , length )

Det betyder att du ger 3 argument. Det första argumentet är uttrycket (eller strängen) som du vill extrahera delsträngen från. Det andra argumentet anger var man ska börja, och det tredje argumentet anger hur lång delsträngen ska vara.

Exempel

Här är ett exempel:

SELECT SUBSTRING('Cats and dogs', 10, 3);

Resultat:

dog

I det här exemplet börjar vi med det tionde tecknet och returnerar 3 tecken.

Noll och negativa startpunkter

Om du använder 0 eller ett negativt värde som startposition, kommer den att börja vid den noll- eller negativa positionen. Därför kommer detta att påverka hur många tecken som faktiskt returneras.

Exempel:

SELECT SUBSTRING('Cats and dogs', 0, 3);

Resultat:

Ca

Endast två tecken returneras. Detta beror på att vi angav 3, men vi började på 0. Numreringen är 1-baserad, därför 0 minskar antalet tecken som returneras med 1.


  1. VarBinary vs Image SQL Server Datatyp för att lagra binära data?

  2. Hur använder man en Oracle Ref Cursor från C# ODP.NET som en ReturnValue-parameter, utan att använda en lagrad funktion eller procedur?

  3. Bevilja alla på ett specifikt schema i db till en grupproll i PostgreSQL

  4. Fallgropar att undvika när du använder den nya Microsoft SSMA version 7.8