STR (Transact-SQL)

傳回從數值資料轉換而來的字元資料。

主題連結圖示Transact-SQL 語法慣例

語法

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

引數

  • float_expression
    這是含小數點的近似數值 (float) 資料類型的運算式。

  • length
    這是總長度。其中包括小數點、正負號、數字和空格。預設值是 10。

  • decimal
    這是小數點右側的位數。decimal 必須小於或等於 16。如果 decimal 超出 16,結果就會在小數點右側的 16 位數截斷。

傳回類型

varchar

備註

如果提供的話,STR 的 length 和 decimal 參數值應該是正數。依預設,如果 decimal 參數是 0,這個數字會捨入到整數。指定的長度應該大於或等於小數點前面的數字部分,再加上數字的正負號 (如果有的話)。在指定長度中,短的 float_expression 會靠右對齊,長的 float_expression 會在指定的小數位數截斷。例如,STR(12**,10) 會產生 12 的結果。這會在結果集中靠右對齊。不過,STR(1223,**2) 會將結果集截斷為 **。字串函數可以是巢狀函數。

[!附註]

若要轉換成 Unicode 資料,請在 CONVERT 或 CAST 轉換函數內使用 STR。

範例

下列範例會將五個位數和小數點組成的運算式轉換成六個位數的字元字串。數字的小數點後部份會捨入到一個小數位數。

SELECT STR(123.45, 6, 1);
GO

以下為結果集:

------
 123.5

(1 row(s) affected)

當運算式超出指定長度時,字串會針對指定字串傳回 **。

SELECT STR(123.45, 2, 2);
GO

以下為結果集:

--

(1 row(s) affected)

即使數值資料巢狀放置在 STR 內,結果也是含指定格式的字元資料。

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

以下為結果集:

--------
 123.000

(1 row(s) affected)

請參閱

參考