(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren

STR (Transact-SQL)

Konvertiert numerische Daten in Zeichendaten.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen


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

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. Die Standardeinstellung ist 10.

decimal

Ist die Anzahl der Stellen rechts neben dem Dezimalpunkt. decimal muss kleiner oder gleich 16 sein. Wenn decimal größer als 16 ist, dann wird das Ergebnis auf sechzehn Dezimalstellen verkürzt.

Falls angegeben, sollten die Werte für die Parameter length und decimal der STR-Funktion positiv sein. Die Zahl wird standardmäßig, oder wenn die Dezimalstelle 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 sein (falls vorhanden). 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. Zum Beispiel ergibt STR(12,10) das Ergebnis 12. Dies wird im Resultset rechtsbündig angegeben. STR(1223,2) hingegen schneidet das Resultset zu ** ab. Zeichenfolgenfunktionen können geschachtelt werden.

Hinweis Hinweis

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

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

Dies 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

Dies 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

Dies ist das Resultset.

--------
 123.000

(1 row(s) affected)

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft