Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punkt końcowy analizy SQL w usłudze Microsoft Fabric
Hurtownia danych w usłudze Microsoft Fabric
Baza danych SQL w usłudze Microsoft Fabric
Zwraca dane znaków przekonwertowane z danych numerycznych. Dane znaków są prawidłowo wyłożone, z określoną długością i precyzją dziesiętną.
Transact-SQL konwencje składni
Składnia
STR ( float_expression [ , length [ , decimal ] ] )
Arguments
float_expression
Jest wyrażeniem przybliżonego numerycznego (pływającego) typu danych z przecinkiem przecinkowym.
length
To całkowita długość. Obejmuje to przekronik dziesiętny, znak, cyfry i spacji. Wartość domyślna to 10.
decimal
To liczba miejsc po prawej stronie od przecinka dziesiętnego.
dziesiętny musi być mniejszy lub równy 16. Jeśli liczba dziesiętna jest większa niż 16, wynik jest skracany do szesnastu miejsc na prawo od przecinka dziesiętnego.
Typy zwracane
varchar
Uwagi
Jeśli jest podany, wartości długości i parametrów dziesiętnych względem STR powinny być dodatnie. Liczba ta jest domyślnie zaokrąglana do liczby całkowitej lub jeśli parametr dziesiętny wynosi 0. Określona długość powinna być większa lub równa części liczby przed przecinkiem dziesiętnym plus znak liczby (jeśli taki istnieje). Krótki float_expression jest prostoprawnie wyprostowany w określonej długości, a długi float_expression jest obcięty do określonej liczby miejsc dziesiętnych. Na przykład STR(12, 10) daje wynik 12. Jest to prawidłowo usprawiedliwione w zbiorze wyników. Jednak STR(1223, 2) skraca zbiór wyników do **. Funkcje ciągów znaków mogą być zagnieżdżone.
Uwaga / Notatka
Aby przekonwertować na dane Unicode, użyj STR wewnątrz funkcji konwersji CONVERT lub CAST .
Przykłady
Poniższy przykład przekształca wyrażenie składające się z pięciu cyfr i przecinka dziesiętnego na ciąg znaków o sześciu pozycjach. Ułamekowa część liczby jest zaokrąglana do jednego miejsca po przecinku.
SELECT STR(123.45, 6, 1);
GO
Oto zestaw wyników.
------
123.5
(1 row(s) affected)
Gdy wyrażenie przekracza określoną długość, ciąg zwraca ** dla określonej długości.
SELECT STR(123.45, 2, 2);
GO
Oto zestaw wyników.
--
**
(1 row(s) affected)
Nawet gdy dane numeryczne są zagnieżdżone w , STRefektem są dane znakowe o określonym formacie.
SELECT STR (FLOOR (123.45), 8, 3);
GO
Oto zestaw wyników.
--------
123.000
(1 row(s) affected)
Zobacz też
RZUTOWANIE i konwertowanie (Transact-SQL)
FORMAT (Transact-SQL)
funkcje ciągów (Transact-SQL)