STR (Transact-SQL)STR (Transact-SQL)

適用対象: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

数値データから変換された文字データを返します。Returns character data converted from numeric data.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

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

引数Arguments

float_expressionfloat_expression
小数点付きの概数型 (float) の式を指定します。Is an expression of approximate numeric (float) data type with a decimal point.

lengthlength
全体の長さを指定します。Is the total length. これには小数点、負号、数字、空白文字も含まれます。This includes decimal point, sign, digits, and spaces. 既定値は 10 です。The default is 10.

decimaldecimal
小数点以下の桁数を指定します。Is the number of places to the right of the decimal point. decimal は 16 以下である必要があります。decimal must be less than or equal to 16. decimal に 16 を超える値を指定した場合、結果は小数点以下 16 桁に切り捨てられます。If decimal is more than 16 then the result is truncated to sixteen places to the right of the decimal point.

戻り値の型Return Types

varcharvarchar

RemarksRemarks

STR で length パラメーターと decimal パラメーターを指定する場合は、正の値を指定する必要があります。If supplied, the values for length and decimal parameters to STR should be positive. 数値は、既定では整数に丸められます。小数点以下桁数に 0 が指定された場合も同様です。The number is rounded to an integer by default or if the decimal parameter is 0. 指定する長さは、その数字の小数点より前の桁数に、符号があればその符号部分を加えた数以上にする必要があります。The specified length should be greater than or equal to the part of the number before the decimal point plus the number's sign (if any). 短い float_expression は、指定された長さで右揃えされ、長い float_expression は、指定された小数点以下桁数に切り捨てられます。A short float_expression is right-justified in the specified length, and a long float_expression is truncated to the specified number of decimal places. たとえば、STR(12 , 10) の結果は 12 になります。For example, STR(12 , 10) yields the result of 12. これは結果セットの中で右揃えされます。This is right-justified in the result set. 一方、STR(1223 , 2) と指定すると、結果は切り捨てられて ** になります。However, STR(1223 , 2) truncates the result set to **. 文字列関数は入れ子にすることができます。String functions can be nested.

注意

Unicode データに変換するには、CONVERT または CAST 変換関数の中で STR を使用します。To convert to Unicode data, use STR inside a CONVERT or CAST conversion function.

使用例Examples

次の例では、5 つの数字と小数点で構成される式を、6 桁の文字列に変換します。The following example converts an expression that is made up of five digits and a decimal point to a six-position character string. 値の小数部は、小数点以下 1 桁になるように丸められます。The fractional part of the number is rounded to one decimal place.

SELECT STR(123.45, 6, 1);  
GO  

以下に結果セットを示します。Here is the result set.

------  
 123.5  
  
(1 row(s) affected)  

式が指定した長さを超えた場合、STR では ** が指定の長さだけ返されます。When the expression exceeds the specified length, the string returns ** for the specified length.

SELECT STR(123.45, 2, 2);  
GO  

以下に結果セットを示します。Here is the result set.

--  
**  
  
(1 row(s) affected)  

STR の中で数値データが入れ子にされていても、結果は指定した形式の文字データになります。Even when numeric data is nested within STR, the result is character data with the specified format.

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

以下に結果セットを示します。Here is the result set.

--------  
 123.000  
  
(1 row(s) affected)  

参照See Also

CAST および CONVERT (Transact-SQL)CAST and CONVERT (Transact-SQL)
FORMAT (Transact-SQL)FORMAT (Transact-SQL)
文字列関数 (Transact-SQL)String Functions (Transact-SQL)