MSSQL 中將數字轉換為字串
阿新 • • 發佈:2019-01-02
STR
由數字資料轉換來的字元資料。
語法
STR ( float_expression [ , length [ , decimal ] ] )
引數
float_expression
是帶小數點的近似數字 (float) 資料型別的表示式。
length
是總長度,包括小數點、符號、數字或空格。預設值為 10。
decimal
是小數點右邊的位數。
返回型別
char
註釋
如果為 STR 提供 length 和 decimal 引數值,則這些值應該是正數。在預設情況下或者小數引數為 0 時,數字四捨五入為整數。指定長度應該大於或等於小數點前面的數字加上數字符號(若有)的長度。短的 float_expression
說明 若要轉換為 Unicode 資料,請在 CONVERT 或 CAST 轉換函式內使用 STR。
示例
A. 使用 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)
B. 使用 STR 和 CONVERT 函式
下例比較 STR 和 CONVERT 的結果。
SELECT STR(3.147) AS 'STR', STR(3.147, 5, 2) AS '2 decimals', STR(3.147, 5, 3) AS '3 decimals' GO
下面是結果集:
STR 2 decimals 3 decimals
---------- ---------- ----------
3 3.15 3.147
(1 row(s) affected)
-- Use CONVERT.
SELECT CONVERT(char(1), 3.147) AS 'CHAR(1)',
CONVERT(char(3), 3.147) AS 'CHAR(3)',
CONVERT(char(5), 3.147) AS 'CHAR(5)'
GO
下面是結果集:
CHAR(1) CHAR(3) CHAR(5)
------- ------- -------
(null) (null) 3.147
(1 row(s) affected)