SQL Server Str()函數

在本教學中,將學習如何使用SQL Server STR()函數將數值轉換為字元值。

SQL Server STR()函數簡介

以下語句不起作用:

SELECT 'index' + 1;

執行上面查詢語句,得到以下結果:

Conversion failed when converting the varchar value 'index' to data type int.

要使其正常工作,需要使用STR()函數將數字1轉換為字串的"1"

SELECT
    'index' + STR(1,1,1) result;

STR()函數將數值轉換為字元值。 以下顯示了STR()函數的語法:

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

在這個語法中:

  • float_expression是一個數值運算式,其計算結果為帶小數點的近似數字。
  • length是返回字串的總長度。 它包括小數點,符號,數字和空格。 默認情況下,如果跳過不指定它的值,則默認長度為10。 如果長度為零,則該函數返回NULL
  • decimal是要返回的float_expression小數點右側的位數。 decimal必須小於或等於16。如果大於16,則函數將結果截斷到小數點右邊的16位。

SQL Server STR()函數示例

下麵示例使用STR()函數將包含六位數和小數點的數字轉換為具有兩個小數位的六位字串:

SELECT
    STR(123.456, 6, 2) result

執行上面查詢語句,得到以下結果:

result
------
123.46

(1 row affected)

如果數字的長度超過指定的長度,則STR()函數返回"**",如以下示例所示:

SELECT STR(987.65,2,2) result;

執行上面查詢語句,得到以下結果:

result
------
**

(1 row affected)

下麵一個長度不夠的例子:

SELECT STR(987.65,1) result;

執行上面查詢語句,得到以下結果:

result
------
*

(1 row affected)

在本教學中,學習了如何使用SQL Server STR()函數將數值轉換為字元值。


上一篇: SQL Server字串函數 下一篇: SQL Server Window函數