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 パラメーターを指定する場合は、正の値を指定する必要があります。指定された数値は、既定では整数に丸められます。小数点以下桁数に 0 が指定された場合も同様です。指定する長さは、その数字の小数点より前の桁数に、符号があればその符号部分を加えた数以上にする必要があります。短い float_expression は、指定された長さで右揃えされ、長い float_expression は、指定された小数点以下桁数に切り捨てられます。たとえば、STR(12**,10) の結果は 12 になります。これは結果セットの中で右揃えされます。一方、STR(1223,**2) と指定すると、結果は切り捨てられて ** になります。文字列関数は入れ子にすることができます。

注意

Unicode データに変換するには、CONVERT または CAST 変換関数の中で STR を使用します。

次の例では、5 つの数字と小数点で構成される式を、6 桁の文字列に変換します。値の小数部は、小数点以下 1 桁になるように丸められます。

SELECT STR(123.45, 6, 1);
GO

以下に結果セットを示します。

------
 123.5

(1 row(s) affected)

expression が指定した長さを超えた場合、STR では ** が指定の長さだけ返されます。

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)

関連項目

参照