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

SQLServerのFloatとNumeric/Decimalの違いは何ですか-SQLServer/T-SQLチュートリアルパート33

    フロートとリアル おおよそのデータ型です。 FloatおよびRealデータ型は、多くの数値の正確な値を格納しません。値は極端に閉じることができます。

    Numeric/Decimalは固定精度のデータ型です。正確な精度で値が保存され、定義した値がスケーリングされます。

    小さな違いが問題にならない場所にデータを保存する必要がある場合は、FloatまたはRealを使用できます。ただし、財務アプリケーションなどの正確なデータが必要な場合。わずかな違いが計算に影響を与える可能性があるため、正確なデータを保存するには、Numeric/DecimalまたはMoneyデータ型を使用する必要があります。

    例:


    2つの変数を宣言し、同じデータを保存して、それらのデータ型が原因で出力がどうなるかを見てみましょう。
    DECLARE @DecimalVariable DECIMAL(8, 2)
    
    SET @DecimalVariable = 213429.95
    
    DECLARE @FloatVariable FLOAT(24)
    
    SET @FloatVariable = 213429.95
    
    SELECT @DecimalVariable AS DecimalVariable
        ,@FloatVariable AS FloatVariable
     
     
     
     SQLServerでのFloatとDecimal/Numericの違い-TSQLチュートリアル
     上記のスナップショットでわかるように、Decimalは正確な値を格納して表示し、値をfloatに保存した場所では、値を丸めました。 

    float /実数データ型は近似データ型であるため、Where句で特に=または<>演算子を使用して使用することは避けてください。
    1. SQLエラー:ORA-02000:ID列ベースの表を作成するときにALWAYSキーワードがありません

    2. PL/SQLストアドプロシージャでコンマ区切りの文字列を分割する

    3. PostgreSQLのデフォルトの制約名は何ですか?

    4. ハイブリッド環境でのPostgreSQLの監視