sql >> データベース >  >> RDS >> Sqlserver

SQL Server(T-SQL)でのSTR()関数のしくみ

    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   |
    +----------+
    

    1. SQL Server 2014のプロセッサの選択–パート1

    2. PostgreSQLで行番号を取得する方法

    3. SEC_CASE_SENSITIVE_LOGON12cで非推奨

    4. 1つのコマンドで行を選択または挿入する