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

SQLサーバーのdoubleを表すものは何ですか?

    float
    

    または、オールドスクールに行きたい場合:

    real
    

    float(53)を使用することもできますが、これはfloatと同じ意味です。

    (「実際の」はfloat(24)と同等であり、float / float(53)と同等ではありません。)

    10月(x、y) SQL Serverタイプは、正確が必要な場合に使用します 浮動小数点ではなく10進数(近似値になる可能性があります)。これは、128ビット浮動小数点数に似たC#の「10進数」データ型とは対照的です。

    MSSQLのフロート タイプは64ビットのdoubleと同等です .NETと入力します。 (2011年の私の最初の回答では、仮数にわずかな違いがある可能性があると述べていましたが、2020年にこれをテストしました。非常に小さい数と非常に大きい数の両方のバイナリ表現で、100%互換性があるようです。https:/を参照してください。 /dotnetfiddle.net/wLX5Ox(私のテスト用)。

    さらに混乱させるために、C#の「float」は32ビットしかないため、SQLではfloat / float(53)よりもMSSQLのreal / float(24)型に相当します。

    特定のユースケースでは... 緯度と経度を約1メートルの精度で表すには、小数点以下5桁で十分です。必要なのは、度の小数点前3桁までです。 Float(24)またはdecimal(8,5)は、MSSQLのニーズに最適であり、C#でfloatを使用するだけで十分であり、doubleは必要ありません。実際、ユーザーは、乗車のために重要でない数字をたくさん持ってくるのではなく、小数点以下5桁に四捨五入してくれてありがとうと思うでしょう。



    1. MySQLで2つのテーブルを比較する方法

    2. テーブルから上位N行を選択します

    3. PHPおよびMySQLデータベースでブログを作成する方法-バックエンド

    4. ストアドプロシージャ内にデフォルトのスキーマを設定できますか?