Udostępnij za pośrednictwem


Str — (języka Transact-SQL)

Zwraca znak danych konwertowanych z danych liczbowych.

Topic link iconKonwencje składni języka Transact-SQL

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

Argumenty

  • float_expression
    To wyrażenie (przybliżone) numerycznefloat) typ danych dziesiętny.

  • length
    Jest to całkowita długość.Obejmuje to przecinka, znaku, cyfr i spacji.Wartość domyślna to 10.

  • decimal
    Is the number of places to the right of the decimal point.decimal must be less than or equal to 16.Jeśli decimal wynosi więcej niż 16, a następnie wynik jest obcinana do szesnastu miejsc po prawej stronie przecinka dziesiętnego.

Zwracane typy

char

Remarks

Jeżeli podane wartości dla length i decimal Parametry str — powinien być wartością dodatnią. Liczba jest zaokrąglana do liczby całkowitej przez domyślny lub jeżeli dziesiętną parametr ma wartość 0.Określona długość powinna być większa lub równa część liczby przed przecinkiem i znak numeru (jeśli istnieje).Krótki float_expression to prawo uzasadnione w określonej długości i długi float_expression jest obcinana do wartości określonej liczby miejsc po przecinku. Na przykład, (12 str —**,10) daje wynik 12.Jest to uzasadnione po prawej stronie zestaw wyników.Jednak str — (1223,**2) obcina zestaw wyników do **.owning_principal_id

Uwaga

Aby przekształcić dane w standardzie Unicode, użyj str — wewnątrz CONVERT lub OBSADA funkcja konwersji.

Przykłady

W poniższym przykładzie konwertuje wyrażenie, które składa się z pięciu cyfr i przecinek dziesiętny na ciąg pozycji sześć znaków.Ułamkowa część liczby jest zaokrąglana do jednego miejsca po przecinku.

SELECT STR(123.45, 6, 1);
GO

Here is the result set.

------
 123.5

(1 row(s) affected)

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

SELECT STR(123.45, 2, 2);
GO

Here is the result set.

--

(1 row(s) affected)

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

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

Here is the result set.

--------
 123.000

(1 row(s) affected)