Delen via


STR (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric

Retourneert karaktergegevens die zijn omgezet uit numerieke gegevens. De karaktergegevens zijn rechts uitgelijnd, met een gespecificeerde lengte en decimale precisie.

Transact-SQL syntaxis-conventies

Syntaxis

STR ( float_expression [ , length [ , decimal ] ] )  

Arguments

float_expression
Is een uitdrukking van een benaderende numerieke (float) datatype met een decimale komma.

length
Is de totale lengte. Dit omvat decimale punten, tekens, cijfers en spaties (spaties). De standaardwaarde is 10.

decimal
Is het aantal plaatsen rechts van het decimale punt. Decimaal moet kleiner zijn dan of gelijk aan 16. Als het decimaal meer dan 16 is, wordt het resultaat afgekort tot zestien plaatsen rechts van het decimaalpunt.

Retourtypen

varchar

Opmerkingen

Als dat wordt aangeleverd, moeten de waarden voor lengte en decimale parameters tot STR positief zijn. Het getal wordt standaard afgerond op een geheel getal of als de decimale parameter 0 is. De opgegeven lengte moet groter zijn dan of gelijk aan het deel van het getal vóór het decimale punt plus het teken van het nummer (indien aanwezig). Een korte float_expression wordt rechtsuitgelijnd in de opgegeven lengte, en een lange float_expression wordt afgekapt tot het opgegeven aantal decimalen. Bijvoorbeeld, STR(12, 10) levert het resultaat 12 op. Dit is rechts-gerechtvaardigd in de resultaatset. STR(1223, 2) slaat echter de resultaatset af op **. Stringfuncties kunnen genest worden.

Opmerking

Om naar Unicode-data om te zetten, gebruik STR binnen een CONVERT- of CAST-conversiefunctie .

Voorbeelden

Het volgende voorbeeld zet een uitdrukking die bestaat uit vijf cijfers en een decimale punt om in een tekenreeks van zes posities. Het fractiedeel van het getal wordt afgerond op één decimal.

SELECT STR(123.45, 6, 1);  
GO  

Hier is het resultatenoverzicht.

------  
 123.5  
  
(1 row(s) affected)  

Wanneer de uitdrukking de opgegeven lengte overschrijdt, geeft de string de gespecificeerde lengte terug ** .

SELECT STR(123.45, 2, 2);  
GO  

Hier is het resultatenoverzicht.

--  
**  
  
(1 row(s) affected)  

Zelfs wanneer numerieke gegevens genest zijn binnen STR, is het resultaat tekengegevens met het opgegeven formaat.

SELECT STR (FLOOR (123.45), 8, 3);
GO  

Hier is het resultatenoverzicht.

--------  
 123.000  
  
(1 row(s) affected)  

Zie ook

CAST en CONVERTEREN (Transact-SQL)
FORMAT (Transact-SQL)
tekenreeksfuncties (Transact-SQL)