SQL Serverでは、T-SQL STR()
関数は、数値データから変換された文字データを返します。戻り値の戻りタイプはvarchar 。
関数を呼び出すときに、引数として数値データを指定します。次に、関数はそれを文字データに変換します。長さ、および小数点の右側の桁数を指定するために使用できる2つのオプションの引数もあります。
構文
構文は次のようになります:
STR ( float_expression [ , length [ , decimal ] ] )
float_expressionの場所 はおおよその数値の表現です(フロート )小数点付きのデータ型。
長さ 全長を指定するために使用できるオプションの引数です。これには、小数点、符号、数字、およびスペースが含まれます。デフォルトは10です。
10進数 小数点の右側の桁数です。これは最大値16にすることができます。それを超える場合は、16に切り捨てられます。
例1-基本的な使用法
仕組みの例を次に示します。
SELECT STR(123.45) AS Result;
結果:
+------------+ | Result | |------------| | 123 | +------------+
例2–丸め
デフォルトでは、数値は整数に丸められます。前の例の入力を調整する場合(たとえば、.45
から小数部分を増やします .55
へ )次のようになります:
SELECT STR(123.55) AS Result;
結果:
+------------+ | Result | |------------| | 124 | +------------+
例3–長さ
オプションのlengthを使用する場合 パラメータの場合、その値は、小数点の前の数値の部分に数値の符号(存在する場合)を加えたもの以上である必要があります。
たとえば、 length であるため、次のように問題ありません。 小数点の前の数値の部分より大きい:
SELECT STR(123.55, 4) AS Result;
結果:
+----------+ | Result | |----------| | 124 | +----------+
ただし、次の例は、 lengthの場合に何が起こるかを示しています。 値が小さすぎます:
SELECT STR(123.55, 2) AS Result;
結果:
+----------+ | Result | |----------| | ** | +----------+
長さにも注意してください 出力の長さを決定し、小数点、符号、数字、およびスペースを含みます。デフォルトの長さは10です。
lengthの値による出力の違いを示す例を次に示します。 引数:
SELECT 123 AS '123', STR(123, 3) AS '3', STR(123, 10) AS '10', STR(123, 16) AS '16';
結果:
+-------+-----+------------+------------------+ | 123 | 3 | 10 | 16 | |-------+-----+------------+------------------| | 123 | 123 | 123 | 123 | +-------+-----+------------+------------------+
これを示す別の方法として、次の例では、TRIM()
を使用して出力をトリミングします。 関数(およびトリミングされていないバージョンと比較):
SELECT TRIM(STR(123, 16)) AS 'A', STR(123, 16) AS 'B';
結果:
+-----+------------------+ | A | B | |-----+------------------| | 123 | 123 | +-----+------------------+
例4–小数点以下の桁数
オプションのdecimalの使用例を次に示します。 パラメータ:
SELECT STR(123.55, 8, 4) AS Result;
結果:
+----------+ | Result | |----------| | 123.5500 | +----------+
lengthの値を増やしたことに注意してください 小数点以下の桁数に対応するため。
長さを短くすると 6
の値 、私はこれを取得します:
SELECT STR(123.55, 6, 4) AS Result;
結果:
+----------+ | Result | |----------| | 123.55 | +----------+