STR (SQL)
構文
STR(number[,length[,decimals]])
概要
STR は数値を STRING 形式に変換し、length および decimals の値に基づいて数値を切り捨てます。length 引数は、数値の整数部分がすべて入るのに十分な大きさをとる必要があります。また、decimals を指定する場合、その数字は小数桁数に 1 を加えた数にします (小数点があるため)。length の大きさが十分でない場合、STR は length と同じ長さのアスタリスク (*) の文字列を返します。
STR は、文字列変換する前に数値をキャノニック形式に変換します。そのため、算術演算が実行され、数値の先頭および末尾のゼロと先頭のプラス記号が取り除かれます。
number 引数が NULL の場合、STR は NULL を返します。number 引数が空文字列 ('') の場合、STR は空文字列を返します。STRING は、空白を保持します。
引数
number
数値として評価する式。これは、フィールド名、数値、または別の関数の結果を指定できます。フィールド名が指定されている場合は、論理値が使用されます。
length
すべての文字 (数字、小数点、符号、空白スペース) を含む目的の出力文字列の合計の長さを指定する整数 (オプション)。既定は 10 です。
decimals
小数点の右側に入る桁数を指定する整数 (オプション)。既定は 0 です。
例
以下の例では、STR により数値を文字列に変換しています。
SELECT STR(123),
STR(123,4),
STR(+00123.45,3),
STR(+00123.45,3,1),
STR(+00123.45,5,1)
最初の STR 関数は先頭の 7 個の空白と数字 123 で構成される文字列を返します。先頭に 7 つの空白が入るのは、既定の文字列長が 10 であるためです。2 番目の STR 関数は文字列 “ 123” を返します。長さ 4 の文字列を返すために先頭の空白が必要になります。3 番目の STR 関数は文字列 “123” を返します。数値はキャノニック形式で示し、decimals は既定の 0 になります。4 番目の STR 関数は、“***” を返します。これは文字列長が、指定した数全体を収容しきれない大きさであるためです。アスタリスクの数は文字列の長さを示します。5 番目の STR 関数は、“123.4” を返します。length は、小数桁を含めるために 5 にする必要があります。