STR (Transact-SQL)

Gilt für:yesSQL Server (alle unterstützen Versionen) YesAzure SQL-Datenbank YesAzure SQL Managed Instance yesAzure Synapse Analytics yesAnalytics Platform System (PDW)

Konvertiert numerische Daten in Zeichenfolgen. Die Zeichendaten sind rechtsbündig und weisen eine angegebene Länge und Dezimalgenauigkeit auf.

Topic link iconTransact-SQL-Syntaxkonventionen

Syntax

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

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 oder früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

float_expression
Ein Ausdruck der ungefähren numerischen Datentypkategorie (float) mit einem Dezimalpunkt.

length
Die Gesamtlänge. Dazu gehören Dezimaltrennzeichen, Zeichen, Ziffern und Leerzeichen. Der Standardwert ist 10.

decimal
Die Anzahl der Stellen nach dem Dezimaltrennzeichen. decimal muss kleiner als oder gleich 16 sein. Wenn decimal größer als 16 ist, wird das Ergebnis bei sechzehn Stellen nach dem Dezimaltrennzeichen abgeschnitten.

Rückgabetypen

varchar

Bemerkungen

Falls angegeben, sollten die Werte für die Parameter length und decimal der STR-Funktion positiv sein. Die Zahl wird standardmäßig, oder wenn der Dezimalstellenparameter 0 beträgt, auf eine ganze Zahl gerundet. Die angegebene Länge sollte größer oder gleich dem Teil der Zahl vor dem Dezimalpunkt plus dem Vorzeichen (falls vorhanden) sein. Ein kurzer float_expression-Ausdruck wird in der angegebenen Länge rechtsbündig ausgerichtet, während ein langer float_expression-Ausdruck auf die angegebene Anzahl der Dezimalstellen gekürzt wird. Beispielsweise ergibt STR(12, 10) den Wert 12. Dieser Wert wird im Resultset rechtsbündig ausgerichtet. Bei STR(1223, 2) wird das Resultset jedoch auf gekürzt. Zeichenfolgenfunktionen können geschachtelt werden.

Hinweis

Wenn Sie Daten in das Unicodeformat konvertieren wollen, verwenden Sie STR innerhalb einer CONVERT- oder CAST-Konvertierungsfunktion.

Beispiele

Im folgenden Beispiel wird ein Ausdruck, der aus fünf Ziffern und einem Dezimaltrennzeichen besteht, in eine Zeichenfolge mit sechs Stellen konvertiert. Die Stellen hinter dem Dezimalpunkt werden auf eine Dezimalstelle gerundet.

SELECT STR(123.45, 6, 1);  
GO  

Hier ist das Resultset.

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

Falls der Ausdruck die angegebene Länge überschreitet, wird die Zeichenfolge ** in der festgelegten Länge zurückgegeben.

SELECT STR(123.45, 2, 2);  
GO  

Hier ist das Resultset.

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

Auch wenn numerische Daten innerhalb von STR geschachtelt sind, werden als Ergebnis Zeichendaten mit dem angegebenen Format zurückgegeben.

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

Hier ist das Resultset.

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

Weitere Informationen

CAST und CONVERT (Transact-SQL)
FORMAT (Transact-SQL)
Zeichenfolgenfunktionen (Transact-SQL)