Udostępnij za pośrednictwem


STR (Transact-SQL)

Zwraca znak dane przekształcone z danych liczbowych.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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

Argumenty

  • float_expression
    To wyrażenie numeryczne przybliżone (float) typ danych za pomocą przecinka dziesiętnego.

  • length
    Jest całkowitą długością.Obejmuje to przecinka dziesiętnego, znak, cyfry i spacje.Wartość domyślna to 10.

  • decimal
    Jest liczbą miejsc po prawej stronie przecinka dziesiętnego.decimalmusi być mniejszy lub równy 16.Jeśli decimal jest więcej niż 16, a następnie wynik jest obcinana do szesnastu miejsc po prawej stronie przecinka dziesiętnego.

Zwracane typy

varchar

Uwagi

Jeżeli podane wartości dla length i decimal Parametry STR powinny być dodatni.Liczba jest zaokrąglana do liczby całkowitej przez domyślny lub jeżeli dziesiętny parametr ma wartość 0.Określona długość powinna być większe lub równe części numer przed przecinka dziesiętnego plus znak numeru (jeśli ma zastosowanie).Krótki float_expression jest wyrównany do prawej w określonej długości i długi float_expression jest obcinana do określonej liczby miejsc po przecinku.Na przykład, STR (12**,10) daje wynik 12.Jest to uzasadnione prawa w zestaw wyników.Jednakże STR (1223,**2) obcina zestaw wyników na wytwarzanie.Funkcje tekstowe mogą być zagnieżdżane.

Ostrzeżenie

Aby przekonwertować dane Unicode, użyj STR wewnątrz konwersji lub ODDANYCH funkcjakonwersji.

Przykłady

Poniższy przykład konwertuje wyrażenie , które składa się z pięciu cyfr i przecinka dziesiętnego do pozycji sześciu znaków ciąg.Ułamkowa część liczby jest zaokrąglana do jednego miejsca dziesiętnego.

SELECT STR(123.45, 6, 1);
GO

Oto zestaw wyników.

------
 123.5

(1 row(s) affected)

Gdy wyrażenie przekracza określony czas, zwraca ciąg ** dla określonej długości.

SELECT STR(123.45, 2, 2);
GO

Oto zestaw wyników.

--

(1 row(s) affected)

Nawet, gdy dane liczbowe jest zagnieżdżony w STR, wynikiem jest znak danych w określonym formacie.

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

Oto zestaw wyników.

--------
 123.000

(1 row(s) affected)